I believe this is described pretty well in sections 3.8 & 3.9 (plus conformance requirement C12b) of Unicode 4.0.
Surrogate pairs are for UTF-16 only. For UTF-8 & UTF-32, surrogates (pairs or otherwise) are ill-formed code unit sequences, and conformant processes must treat them as erroneous. --deh!

