I see, the issue is really difficult to explain. I really want to squash this "bug", though.
In addition on what I reported before, I managed to get eclipse debugging web2py and found that a default row is passed as default value to lazy_test_field() and surprise. surprise, it's actually the last on the set. I don't know why this row gets passed along, but that explain the behaviour of TestLazy class... I don't know if it's python related or web2py related, but the code in the class it's executed in the right way. it's the value passed to that that is wrong. Feel free to ask, of course, if you need more details. Niphlod