Bueno listo...
1. Una vez compilado la udf. procedo a copiarla al directorio de UDF que está en la carpeta de Firebird.
2. paso siguiente reinicio el equipo; aunque con reiniciar el servicio es suficiente
3. inicio el IBExpert y borro la declaración previa de la udf
4. doy nuevamente de alta la función.
5. realizo una consulta cualquiera y no me funciona. me muestra los errores que ya he expuesto.
Nota:
No entiendo por qué me funciona en win7 y no así en win xp sp3
si fuese problema de la udf o del código no corriera en win7....
Gracias por vuestro tiempo