type mismatch inserting numeric data into MSSQL 6.5

Let's say we have a table itemxfer declared in SQL Server as:

item_no varchar(15)
lead_time int(4)

and I try to insert some values in from a dbase file via an SQL
statement after setting the database on a TQuery object to "c:\temp".  I
am accessing the SQl table through MS ODBC driver and a DSN named
IMCWhouse.

insert into ":IMCWhouse:itemxfer(item_no, lead_time)
select imc_no, 0
from "i:\slaton\inpart01"

I get a "type mismatch" error on the literal "0" that I am using to make
sure a field gets initialized.  It doesn't matter what the numeric value
is, this won't work.

I've tried casting  - cat(0 as integer), cast(0 as numeric) and i still
get this result.  If I use a string literal to initialize a char field,
it works fine - just not with numbers.

Any ideas would be greatly appreciated.

TIA