Well, it could be avoided 1) by using stencil shadows 2) by limiting the light position to certain ranges to avoid too long shadows.
Well... problem isn't with long ranges, but with the certain angles/points of view. When the camera direction gets close to 45 degrees, sometimes part of model gets clipped by frustrum and stretches to infinity. Another problem is that flat shadows disappear
when applied to a VERY large model. (Models gets clipped by ZFar, I suppose).
Right now I'm using stencil shadows, but they're 2times slowdown...
P.S. Why don't you use D3DPRESENTINTERVAL_IMMEDIATE? It would be a big speedup for a game. (what about 200 fps on Riva TNT?)