That was it! It took a bit of work to figure out exactly what was going on and how to get it to work, but I think I've got it now.
If I understand correctly, the Python in OS X 10.9 is linked against libc++, whereas in previous releases it was linked against libstdc++. That means it can only load libraries that were also compiled against libc++. To make that happen, I had to add the flags "-stdlib=libc++ -mmacosx-version-min=10.7" when compiling my library. Which means it's impossible to have a single library that works on 10.9 and also works on anything earlier than 10.7 (which is when they first introduced libc++), but I can deal with that.
Thanks so much!