Su expresión es válida, sospecho que está obteniendo un valor que la función considera numérico, pero que no se puede convertir en un número entero. Prueba lo siguiente...
declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
select CONVERT(int,@myField)
end
La declaración de conversión explotará con el error que está informando...
Consulte esta pregunta:T-sql:determine si el valor es entero
Algunos ejemplos más de valores "numéricos" que no se pueden convertir a un número entero
select '1.e0',ISNUMERIC('1.e0') as IsNum
union
select '.',ISNUMERIC('.') as IsNum
union
select '12.31',ISNUMERIC('12.31') as IsNum
Agregue un convert(int,myField)
seleccionado en el begin/end
para ver el valor real del campo que causa el error