I haven't updated most examples yet, so the last error is normal.
It's difficult for me to guess where the errors exactly come from, as I'm not used to build DLLs on Windows. I know that the Cython developers almost don't use Windows, so this could be a bug in Cython as well.
The thing is, the functions that cause problems shouldn't end up in the DLL in the first place. As far as I know, Cython doesn't allow to make symbols available across compilation units without exporting them in the DLL. At worst, it should be pretty easy to edit sf.cpp manually to remove DL_IMPORT from those functions declarations (but keep the argument of DL_IMPORT(), it should be the return type).
For what it's worth, I didn't have these problems with MinGW when I last built the binding for Windows, and I was already using the same hacks. I was getting crashes at the end of the program with MinGW, however, but I believe the former binding already had that problem.
Currently, I'm focusing on porting all the C++ features (I still need to make Shape inheritance work and port the streaming features), and updating the documentation. I'll try to build the binding on Windows as soon as possible.