The Teradata Database does not support Return - Values. It supports IN, OUT and INOUT parameters. Therefore delete the Return-Value parameter:
cmdSQLData.Parameters.Append cmdSQLData.CreateParameter(, adInteger, adParamReturnValue, , Null) ' return value
If this change does not resolve the issue, then try setting the command text to the Call-Statement instead of the Stored Procedure name:
cmdSQLData.CommandText = "Call GrantUser(?, ?, ?, ?) " 'We assing the query as command text
cmdSQLData.CommandType = adCmdStoredProc 'We just say what kind of command VBA has to execute
cmdSQLData.NamedParameters = False
Did you get a chance to look into this ? I would really appreciate if you could help me on this, i am stuck here for last couple of days nad tied all tricks, but in vain.