At least on my system. I put in a few simple puts to report where it ends up loading the files from. See the output -- for my app, I have these gems in the gem directory: haml-1.7.2, merb_datamapper-0.5, merb_datamapper-0.4.4, RedCloth?-3.0.4, ruby-openid-2.0.2, validatable-1.6.6. See the following results:
ORM Dependency merb_datamapper
Loading merb_datamapper:
Trying local...
Trying system...
ORM Dependency merb_datamapper Loaded!
Loading validatable:
Trying local...
Loading ruby_magic:
Trying local...
Trying system...
Trying library...
Loading RedCloth:
Trying local...
Loading ruby-openid:
Trying local...
Loading oauth:
Trying local...
Trying system...
Loading Application...
From those results I can see all gems loaded from their proper location, EXCEPT for merb_datamapper. It loaded from the system.
Also, past this point (as the system has merb_datamapper-0.5 and it should be fine), I'm getting an "uninitialized constant DataMapper?" error. Why/How could this be? Is the cause of both problems the same cause?? (something that raises a LoadError? would send it off to load the gem from the next source, the system).