I could not investigate your claim because I could not slow down my HUGE view. SQL Server 2005 is just simply amazing in performance.
You keep mentioning NOLOCK, that is not related to index performance, rather blocking conflict.
Make sure your indexes are not fragmented. If they are, you may find yourself in a confusing situation.
ALTER INDEX ALL ON dbo.YourTable
REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,
STATISTICS_NORECOMPUTE = ON);
Retest again, and you should not find that function has performance advantage over straight query or a view.
Let us know how it goes.
Kalman Toth - Database, Data Warehouse & Business Intelligence Architect
SQL Server 2005 Training, SSAS, SSIS, SSRS: http://www.sqlusa.com/