In a recent academic competition, the students raised a question about Roman numerals. I immediately referred to the 1998 Information Please Almanac, and then to several other references, and could not find an answer for them. The rules you cite are well accepted and representative of what I have located in the texts. But, here are the questions the students raised that seem to be beyond the standard rules.
The answer to the first of these questions is a fairly definite "no". Though a smaller numeral placed before a larger one generally decreases it by the amount of the first, the smaller number must be a power of ten, and cannot precede a number more than ten times its value. In other words, V, L, and D cannot be used to modify larger numbers; I (the numeral, not the editor) may modify only V and X, X only L and C, and C only D and M. As tempting as it might be to represent 1999 by MIM, common usage dictates that it be written MCMXCIX.
As to your students' second (and third) question: the use of Roman numerals, in both ancient and modern times, has tended not to adhere to any rigid set of rules. Even the rules of number formation taken to be standard today were applied somewhat haphazardly by the ancients. CCCC, though nonstandard, is acceptable; the only question that remains is why one would wish to write those extra two numerals.
One possible explanation for this lack or rigor is the fact that Roman numerals were in use throughout the ancient world. Time and distance naturally led to significant local differences in practice. Exacerbating this was the fact that Roman numerals were seldom, if ever, used in formalized abstract mathematics (the absence of a symbol for zero severely limits their usefulness in this capacity); there was therefore no authority setting the standards of their use. Needless to say, the same cannot be said of Arabic numerals today.
For a fascinating (and much more in-depth) discussion of Roman numerals, see Christopher Handy's guide to the conversion of Roman dates.