If ever you were still wondering why this would happen....Ran into a similar issue
We had the field setup as a persistent field on a table component as varchar(30)
However over time the actual data structure had increased to varchar(100)
I tried doing a findkey for a value of 90 length... the persistent field prevent the findkey from working, i.e. only searching for up to the 30 it new about.