Might want to double-check your UDF's there. The function prototype for DBConnOpen that I found (in the library) is this:

Function DBConnOpen($ConnDSN, optional $ConnTimeout, optional $CmdTimeout)

but you got this:

Function DBConnOpen($objConn, optional $ConnTimeout, optional $CmdTimeout)

The implication being that the first parm is an OBJECT (connection), not a DSN string (which you are using).

-Shawn