I reported this about a year ago and coded some workarounds because it was taking a while to get a fix, and just assumed that somewhere along the line it had been fixed, but it hasn't been fixed. It's quite simple. If you linepick a mesh where two triangles join - even if the triangles are welded - there is a chance the linepick will miss. It's pretty hit and miss, sometimes it works, sometimes it doesn't so I'm guessing you've got some floating point errors in your linepicking code.
I've uploaded a mesh which exhibits the problem. It's a very simple mesh, two triangles, welded together to make a square. It is 10 units by 10 units and is on the XZ plane. The diagonal runs from -5,0,-5 to 5,0,5. I can reproduce the errors by linepicking right along the diagonal. So if you get a loop running from -4.5,-4.5 to 4.5,4.5 in small increments and linepick directly downward, soon enough you'll hit the seams and linepick straight between the two triangles.
http://www.glimmergames.com/temp/TwoTris.rar