Agreed. Explicit is only better than implicit when you have a mechanism that can reliably identify instances where you forgot to do something.
Actually for resource management I'd go so far as to say that implicit is better than explicit in the vast majority of cases. Now if only the rules that determine what happens during initialization in C++ weren't so horribly convoluted.
Unless a programmer forgets to call a 'destructor' on some code path in C's explicit error handling maze.