Ich finde UDFs sehr praktisch und verwende sie ständig.
Ich bin mir nicht sicher, warum Microsoft kein sys.functions-Äquivalent in SQL Server 2005 (oder SQL Server 2008, soweit ich das beurteilen kann) einschließt, aber es ist einfach genug, ein eigenes zu erstellen:
CREATE VIEW my_sys_functions_equivalent
AS
SELECT *
FROM sys.objects
WHERE type IN ('FN', 'IF', 'TF') -- scalar, inline table-valued, table-valued