With the 3.5 version if wordpress there is a change in the "get_the_terms" function. It begins by testing if the post_id in param is a real wp post.
If their is a post with the ID than the current user id it works. Else, it return false so the user has not term associated.
The solution is to use the function wp_get_object_terms instead of get_the_terms