After ten days of searching, I finally found the answer. Apparently the issue was not WAMP- or MAMP-specific at all.
I am running my scripts within CodeIgniter, and a function called set_error_handler() was suppressing all warnings, even though error_reporting and display_errors were set to show all errors and warnings.
Hopefully this helps someone out there and saves them ten days of bewilderment.