I added my recycling of vertex buffers code and it made no difference. I double checked, and I only get 80 FPS by disabling all draw calls, which really isn't that great.
I also checked and the MinIndex and NumVertices parameters to DIP() are sane-looking, which is good since it means I don't have to dick around to sanifty-ify them.
So, I still have no idea what's going on. I've posted a thread about it anyway.