The syntax of your SUBSTRING function is not accepted by Teradata.
A sql statement that contains "SUBSTRING(field, x, y)" will work with the ODBC driver because it will modify the SUBSTRING function to the syntax that can be processed by Teradata.
The .Net Data Provider for Teradata does not modify the sql statement contained in the CommandText. So if you execute the command, an exception will get thrown that indicates that the sql statement contains a syntax error.
The syntax of the substring function will have to be changed to