how could the global $user be different between the Drupal interface and Services module?
Nice question!
After reading your question.
you are not logged in to your app because you are sending the anonymous requests after login.
Workflow should be like this : 
1)User register on the site.you will get the session id and session name.
2)Now need to set the session id and session name in headers then send the requests. you can check the same in drupal logs that whether your requests are coming from anonymous user or authenicated user.
if drupal getting the requests from anonymous user then make sure that headers are properly set. See the services module documentation to learn out about this.
Browser tools : 


The Poster add-on for Firefox.  
The REST Console app for Chrome.


if you are using the services module then take a look at its documentation