A stored procedure that returns a result is actually called a User Defined Function (UDF).
...
Mind you ... I haven't checked any specific Firebird peculiarities. This is based on what I know from DB2.
Hmmm, no in Firebird that's not the right terminology: a UDF in Firebird is external code compiled to a library (dll/so) that indeed returns a result. Invocation is the same as you indicated.
In Firebird, a stored procedure can IIRC either return a result set, a scalar (one single value) or nothing at all.
In the last case, use execute. In the former two cases, IIRC in SQLDB you can treat it as a regular query, i.e.
SELECT resultvar FROM storedprocname
@tatamata: does the Zeosdb TZStoredProcedure provide functionality for return values as well?