only the object your trying to place should have the query flag set to "do not select" and reset back on when you place the model in the scene. This is how you get around the raycasting to self... as for the inaccuracies.. will try your code a bit later and see what results i get..
Note: If your plane is in that scene and you turn it off, does the inaccuracy disappear?

