TDBGrid and Lookupfields -> EConvertError

I'm not sure if I'm doing something wrong, or if I found a bug in
delphi.

Let's say I have a DBGrid that has 2 lookupfields.  One lookupfield has
a lookupkeyfield of type integer, the other has a lookupfield of type
string.  Both have a lookupResultField of string.  If I select an item
from the lookupfield that uses an integer value for the lookupkeyfield,
then goto the other one, I get an EConvertError '<insert name> is not a
valid floating point value.

Also note, that having two (or more) fields that have the _same_ types
for their lookupkeyfields works perfectly.

Any help would be greatly appreciated,
Steven