When the UI camera is set to UI event mode, all raycast results are sorted by widget depth. Unity2D sprite doesn't have a widget component, so it's going to be dead last.
The only way to resolve this properly is to use an NGUI widget covering the screen instead. ALT+SHIFT+W, ALT+SHIFT+C.