First, you are raycasting into all layers, when you should be selective instead.
Second, there is no need to raycast at all. Attach a UICamera script to your game camera, and you will then be able to get the object under the mouse by checking UICamera.lastHit. All your game objects will also receive NGUI events as an added bonus -- clicks, touches, all that.