Hmm, that all looks ok upon initial inspection. The only thing that seems a little suspicious is:
and the corresponding TLD is also in the proper path.
Did you remove the TLD from the jar file and put is somewhere? If so, that's not the right thing to do. All you need to do is to put the JSTL jar files in WEB-INF/lib (or shared location) and the container will find the TLD files inside the jar files.
Otherwise, it's easy for the TLD to get out of sync with the jar files.
But unless that has already occured, I'm not sure if it can account for your issue.
I'd try writing a simple JSP file that only contains a function reference to see if I could gather more data on the issue.
[ February 19, 2007: Message edited by: Bear Bibeault ]