I've been working with the ortho view for a personal project, and if you still are having problems, there is a specific pick screen command built into the d3d plugin that specifically deals with the ortho camera.
This is how I use it:
local dist as float
local x as integer
d3d_pick_camera mousex(),mousey(),0
xpick = d3d_vector_x()
ypick = d3d_vector_y()
zpick = d3d_vector_z()
d3d_pick_camera mousex(),mousey(),500
xpick2 = d3d_vector_x()
ypick2 = d3d_vector_y()
zpick2 = d3d_vector_z()
for x = 1 to lastobj
if object exist(x)
dist = intersect object (x , xpick , ypick , zpick , xpick2 , ypick2 , zpick2)
if dist <> 0
d3d_pick_camera mousex(),mousey(),dist
exitfunction x
ENDIF
endif
next
-