Apologies, I submitted before I got to ask the questions
1) Why are the cfabort and handler exceptions appearing when they didn't using just Application.cfm and the cferror tag?
2) Does the above code sort out the status of session variables after a person logs out? If not can it be dealt with in this function?
3) At the moment I don't use the cfthrow and cferror tags because I keep getting a template not found error despite the same code having worked fine in Application.cfm
I put this up as I'm sure other people must be running into similar issues. All comments welcome!
Even though the exceptionError.cfm template is in the root folder it will give a template not found error message. The solution is to setup a mapping in the Coldfusion administrator and point it at the root folder.
The cferror tag in the Application.cfc should look something like:
So <cferror template="/#THIS.rootMapping#/exceptionError.cfm" type="exception">
Don't forget the first forward slash.
The cferror problem was the main issue and it now works.