Es gibt 2 Methoden:
a) als Prozedur mit 2 Parametern
b) als Funktion mit Returnwert

Als Prozedur musst du das ODBCCommand explizit anlegen und die einzelnen Parameter spezifizieren (IN, INOUT, OUT), ein ExecuteScalar geht dann nicht mehr.
Du benötigst einen Execute und kannst das Ergebnis aus dem ODBCCommand entnehmen.

Als Funktion sieht der Call dann so aus:
"? CALL SQLFUNC (?)"
Auch hier explizite Parameterdeklaration, ob ExecuteScalar dann geht, weiß ich nicht, aber Execute mit Auswertung des Parameters geht auf jeden Fall.

Soweit ich weiß, geht ExecuteScalar nur auf Resultset's.