So I just spent 5 hours troubleshooting a problem which turned out to be due not only to the old unreliable ISNUMERIC but it looks like my problem only appears
ISNUMERIC
According to Microsoft support the only efficient way to replace UDF function is to write your own .NET function version.
Of course, if your database admin allows that :).
Mine doesn't :(.