I don't know if anyone else has come across this bug, but i was playing Leisure Suit Larry 5 many many years ago on my old 486/25 when it would freeze in front of the dentist's office. No matter what I did, I couldn't unfreeze it. Even saving/restoring wouldn't reslove it. I think this is a severe, but smaller and intermitant bug, which is one of the worst kind--harder to track down.
I'm working on a new compiler (don't worry, I'm not tossing out the old one, and even plan to update the old one to support SCI11/SCI32) which supports typecasting, that is, variables are declared as "int something" and "object *anObjPtr". It will help the scripter write much better code. I truly believe that had the original Sierra compiler had typecasting as well, there would be significantly fewer bugs.
The new compiler has code such as:
varsomething = 10;
instead of:
= varsomething 10
I do like the SCI syntax, but even SCI Studio's syntax, which is based off the original is quite superior to the Sierra SCI one. It's almost like the authors rushed into making a quick and dirty compiler instead of a good, solid one, and never bothered updating it to support a better syntax. It's kind of odd how they were still using the "= somevar 10" syntax and such through LSL7, when they could have been doing the games in a more powerful and strict syntax like C++.
When designing development systems, I ALWAYS give the external scripts priority over the compiler. If I need to put a little more work into the compiler to make scripts easier to code, more structured, and more efficient, it's always worth it. A better compiler will cut down on the script bugs. It will report error and warning messages instead of letting bad code slip by. Had Sierra coders had a better compiler back then, and a better syntax, the games would have a lot less bugs.