I think that Thomas uses APIs that take simple pointers and integers more often than I do ;) It seems that I have to write three or four lines of code, or more, per function call whenever I use ctypes.. which puts it more or less on par with Pyrex.
It's also half-broken on non-win32 platforms right now. Several important tests that should pass don't. This is where debugging is important. From gdb and pdb, it's REALLY hard to tell when and why it's ctypes fault.
I do like to experiment with ctypes, but I'll be damned if I use it in a production app any time soon :)