thanks again, all, for the serious attention my post has raised. As i say I had already found a workround for it, although I have now amended this to the "int" workround mentioned above.
doc-man, i note your comments, but I hadn't modified the variables at all. I think Paul noted that the combobox returned the value as a string when the width was zero, and as a number when it was not.
I wonder whether this is because the second (displayed) column in the query was a string. Perhaps the value is returned as the same type as the displayed variable in the combo box.