Was there maybe a trigger on this table?

If the trigger code generated this error that would explain it.

Had this myself a while back. In my case I had increased the size of a column (varchar(20) to varchar(40)) but I still got errors when trying to save more than 20 characters. Turned out there was a trigger that updated another table that still had the column defined as varchar(20).

Took me a while to figure that out...