Found the answer!
This is a bug in eAccelerator. I just disabled it, and the code magically worked just fine.
I saw it in this thread: PHP5: Why is try/catch failing?
I had googled it before, I just haven't found this thread. Looks like upgrading the extension solves the problem as well.
Thank all of you that answered this question.