It looks like rubygems 1.0.1 changes some things breaking puppets gem provider:
Puppet always fails to find installed gems:
# /usr/bin/gem install -v 1.0.6 --include-dependencies flvtool2
Then from the puppet run:
debug: package provider gem: Executing '/usr/bin/gem list --local flvtool2'
warning: Could not match
debug: //snvl-b-app96/ilike/Package[flvtool2]: Changing ensure
debug: //snvl-b-app96/ilike/Package[flvtool2]: 1 change(s)
debug: package provider gem: Executing '/usr/bin/gem install -v 1.0.6 --include-dependencies flvtool2'
notice: //snvl-b-app96/ilike/Package[flvtool2]/ensure: created
So it will reinstall every gem every run. Obvious workaround is not upgrade rubygems. I'm not sure yet what version introduced the behavior that breaks things.