結局話は、これでおちるということに。
21なら落ちる、22なら落ちない。
ruby 1.8.4 (2005-12-24) [i386-mswin32] 

require 'pstore' 
db = PStore.new("test.db") 
db.transaction do
  db['num'] = 21
#  db['num'] = 22
end
db.transaction do
  p db['num']
end

####### 21なら
c:/ruby/lib/ruby/1.8/pstore.rb:353:in `load': marshal data too short (ArgumentError)
        from c:/ruby/lib/ruby/1.8/pstore.rb:353:in `load'
        from c:/ruby/lib/ruby/1.8/pstore.rb:306:in `transaction'
        from test.rb:7

C:\>
####### 22なら
22

C:\>