En cuanto a PadStr pues quizá me equivoque (Aunque podría crearce), porque en ese momento no tenia el FireBird a mano, pero debo decir que LPad y RPad si existen y sus respectivas declaraciones serian así:
Código SQL
[-]DECLARE EXTERNAL FUNCTION lpad
CSTRING(255) NULL, INTEGER, CSTRING(1) NULL
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'IB_UDF_lpad' MODULE_NAME 'ib_udf';
y
Código SQL
[-]DECLARE EXTERNAL FUNCTION rpad
CSTRING(255) NULL, INTEGER, CSTRING(1) NULL
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'IB_UDF_rpad' MODULE_NAME 'ib_udf';