BKBK Charlie Arehart
thank you so much for your insight and thoughtful suggestions. I tried them, along with several other variations, and had exactly the same problems as my original post - with a new addition.
- Either nothing displays (depending on cfflush interval)
- Displays, but stops execution (never goes to index.cfm)
- Or a new one - I get an error message that I'm attempting to execute a cfflush when I can't (e.g. in a cfthread)
Apparently, cold fusion isn't going to allow you to display anything until onApplicationStart is completed, although I can't even begin to understand why that is.
Rather than beat my head against the wall with CF, I decided to try something entirely different - index.html to the rescue.
- Renamed my index.cfm to start.cfm (to avoid default page issues for the website)
- Created index.html
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Application is loading, just a moment please</h2>
<script type="text/javascript" language="javascript">
window.location = "start.cfm";
</script>
</body>
</html>
Works perfectly. HTML is displayed, and sits there until CF gets around to fulfilling the request for start.cfm
Now that the issue is solved, I can even get fancy with an animated loading image, woo hoo!
I've been working with CF since version 5, now running CF 2016.
I too was totally amazed that I couldn't find an answer to displaying a start message without asking a question, especially with the introduction of orm in CF9, which impacts onApplicationStart execution time.
FYI, I've got a real ball buster of an Application.cfc, supporting 6 separate, yet interconnected sites. I got sick of having to change the same things in all 6, so I parameterized.
Application.cfc extends ApplicationMaster.cfc, and ApplicationMaster.cfc extends ApplicationVars.cfc
Application.cfc is the a series of this.xxx = ..., same template, different values commented/uncommented for each site, and executes an appInit in ApplicationMaster, and has the onError function
ApplicationMaster.cfc and ApplicationVars.cfc are exactly the same code for all sites, making liberal use of switch statements
Perhaps something to do with my complex structure is what caused your suggestions to not work properly?
Seems like the simplest solution evaded us while we were drinking CF kool-aid. 
Still curious as to why CF blocks output until onApplicationStart is finished.
Perhaps I'll play around a bit more and see if I can figure out a work-around with CF
PS - Wouldn't it be nice if there was a place to put a template in CFAdmin for this, and have CF display the template when it's starting?