I guess this is a bug, happening here with the new DAL, but I always use 'represent' for reference fields as a workaround.
I thought this was fixed in trunk, I'll make more tests in this and if I find a solution I'll send a patch to Massimo. Can you open a Issue on google code? http://code.google.com/p/web2py/issues/list -- Bruno Rocha http://about.me/rochacbruno/bio