Andrus,
Have you checked that you have a valid PK? Have you checked that the various commands that the .Update() method uses is correct? (Put a breakpoint on the .Update() and check that stuff before it gets called).
Personally, I don't use the .Update() method, I "roll-my-own" data access (setting parameters, calling .ExecuteNonQuery(), etc.), so I don't know how many other tips I might be able to give you for tracking this down further. Is there any way to see what gets sent to your database? In SQL Server, we can use Sql Profiler and it shows exactly what's getting sent to the server ... that's one way to tell if the commands are being formatted incorrectly or if the problem's on the server itself. I have no clue about the server you're using though.
~~Bonnie