+1  A: 

The problem, I think, is the initial command (or what you expect that command to do):

$ rvm ree gem update --system

That tells rvm to pass the gem update --system to the gem under ree, but it doesn't switch you to that particular Ruby interpreter. You continue using whatever interpreter you have set in that shell (whether by default or because you switched manually earlier in the shell session).

As example, my default interpreter is Ruby 1.9.2. If I pass this command: rvm 1.9.1 gem install pony, then the Pony gem is installed for Ruby 1.9.1. However, I'm still using Ruby 1.9.2 after that installation is finished. If I enter irb and try require 'pony', I get a load error. If I run rvm 1.9.1 and then enter irb, Pony is installed and loads fine.

So as Brian says in his comment to your post, you could switch manually with rvm use ree. Alternatively, you could switch your initial command to this:

$ rvm ree
$ gem update --system
$ gem --version
Telemachus
This produces the same results as in the original question. Everything says that it is updating, and gem says that it updated the correct file but when you run gem --version it still says the older version. When I run "which gem" it points to the same file that rubygems just reported that it updated.
Douglas Sellers