no tanto como bug.
A como lo toma VFP es finalmente una lista numerada: 1,2,3,4,etc...
si indicas en el controlsource una "variable" o "campo" que es numerico, lo interpretará como la posición de un elemento dentro de la lista.
Y cuando dices que no funciona es por ejemplo en los siguientes casos: tus elementos son 1,3,4,7,2,5,6 ( en este orden), cuando seleccionas el elemento "7" supones que te devolverá "7" pero no es cierto te devuelve "4" que es la posición del elemento seleccionado.
Con lo que te comento ya podras hacer cambios sencillos para que funcione a como lo quieres..
SUERTE!