Hi
As explained in a similar post in the database integration forum the problem you have is that the old forms have a "map" for want of a better word of all their fields, data and field lengths, if subsequent design changes the field lengths it is expecting then it will fail saying it cannot locate the row. The simplest and best way to use old forms is to design a query on the new form that pulls back the data from the database into the new form with its new sizes, smaller or larger.
The reason I know this was that I have been through exactly the same pain myself. Any questions feel free to come back to me otherwise I hope this helps.
Adam
PS I am sure one of the other guys could explain this better than me technically if you need more clairification of the behaviour