It seems that these days site definitions and CAML are really hot topics. Microsoft has recently posted a knowledge base article clarifying from their side what is supported and not supported when we dive into the creation and deployment of custom site definitions. There is already a lot of discussion around this KB. I know a lot of companies who are delivering heavily modified templates through custom site definitions and some of them have already reacted (read for example Serge's posting and Joris).
The KB makes a difference between making modifications to default versus custom site definitions. Default site definitions are the ones that are delivered by Microsoft. Any change there is not supported. Perfectly OK of course and we all understand this. Custom site definitions are site definitions that you create by copying a default site definition, renaming it and then registering it using a WEBTEMP*.XML. This is a supported scenario for Microsoft. But, here is the strange thing. Once your custom site definition is in production and sites have been created based on it, additional changes to your custom site definitions will not be supported anymore. So, changing the custom site definition step-by-step while it is in production is not supported anymore. Now, to me, this blocks a lot of scenarios for proposing custom site definitions to customers. If for example you have a customer that is really strict on this supporting vs. unsupporting, you will have a hard time. What are the reasons behind all of this? There is probably one but we will have to wait for an official explanation. Mike? Any feedback on this?