Philip,
Thanks for this response. I was getting myself all worked up into giving a similar one, but you covered everything very nicely.
That being said, I can think of a few cases where it can be acceptable to use external web applications within a SCORM course. I believe that providing additional capabilities over-and-above SCORM's intended usage (at least in it's current state), is not necessarily a "bad thing."
For example, I worked on a series of SCORM courses that included games, and we used an external web application to serve as a "High Scores Board" to breed some competition among the learners. This functionality is not going to be provided commonly across LMSs, and was written in a way that the course could post and access the results from a web server from any domain. It's likely not fitting the letter-of-the-law when it comes to compliance, but the course would still function without the high scores if the external application were to go down. I could think of other types of collaborative activities that aren't really provided for by the existing SCORM specs (no shared data among users or courses), but are nevertheless valid and useful. I think the trick is to be careful to build your courses so they will work across any SCORM-compliant LMS, and that they will still function if the external application is not available. It's definitely a slippery slope that requires some careful thought, but I wouldn't completely disregard them as invalid SCORM-based solutions.
With regards to single- versus multi-SCO systems, the real question is what granularity of reporting do you require. If you need to track completions and scores for multiple objects within a course, then you need multiple SCOs (unless your LMS supports reporting of cmi.objectives and cmi.interactions.) If not, you can get away with a single SCO that provides all of its own navigation. With respect to reuse of SCOs, I don't think I've seen any good technological solution for easily reusing SCOs in multiple courses, other than in LCMSs of course. The only exception might be defining multiple <organization> nodes within a manifest to build slightly different versions of a course which reference the same SCOs, but I've only seen one or two LMSs that handle this properly anyway. Without a good technical backbone to support reuse, copying a "SCO" or copying "some files that are a page within my proprietary course shell" really aren't that different.
-Ryan