Hi Lane,
Thanks for your link. I have tried that under a new project and it works. However, as I was trying to do point to point comparison (logic-wise), I am still unable to find out what's wrong with my setup (according to the video on mouse pick).
Everything was correct. I deleted my old camera, plane and sphere, and simply recreated new default ones. Camera has been seen to MainCamera, both plane and sphere are confirmed with colliders attached. Raycast 100 - 5000 values been tested. The states and variables have nothing wrong about them.
However, there's one thing that strikes my curiosity. There should be nothing wrong with mouse pick and left mouse button down has already executed. However, my vector3 resulted in V(0, 0, 0) while yours returned good values (I simply retrieved as a vector3 value on your example on each intersection of the click).
I am still wondering what's wrong...