Looks good... i.e. it should work. If IGNORE_WORLD makes it work, then the trace is obviously hitting a block or terrain right out of the gate. Maybe the model's origin is too low so it's hitting the floor every time? In which case start the trace from vector(my.x,my.y,my.z+100) for example instead of just my.x. That's just a guess, but it's gotta be a block or terrain, and it's gotta be close (within 5 quants). So there's only so many things it could be!

Try the floor thing... if that doesn't work, back to square one.