'which' location different from executable location
The default gem is a function and they get called before $PATH and also before the command hash. 

Try playing with hash (or clearing it with hash -r ) to see if your path isn't getting a say in which gem to call.

type gem will confirm whether yur gem is really a function...