that's not good no, as it happens I've got a replacement from my automated testing that doesn't use PHPUnit - oh the hassle of setting that up all the time... still use it for selenium but that is only on one machine... anyway...
only way to be sure what is going on is to debug into the dataobject::get_by_id and see what is going on... might be some caching issue... but I really don't know... everything looks ok...
maybe do a dataobject::get() and see what that produces before / after.
also why force the ID? surely just grabbing the id after the write is sufficient?
I forced the ID because I was importing data with int as primary key being already there.
now I changed that and gave SS control over the ID. I store my PK in a different field and now I
have 2 PK fields (damn). one for business logic and one for SS logic :-(
BUT surprisingly the get_by_id works within the unit tests :-)
and also my new getByIdShow($id) works in the same context.
--> seems that SS/PHPUnit does not work correctly when using custom IDs.