Один символ может содержать только 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
, но полная строка может содержать любое из следующего:
1
1234
12.34
-1234
-12.34
0001
поэтому IsNumeric должно быть несколько медленнее.
Есть также проблемы культуры и интернационализации. т.е. если вы обрабатываете строку Unicode, IsNumeric также обрабатывает числа из всех других языков?