From what I've see so far, documentation about the preprocessor is completely scarce in C books.
The ISO specs are much more specific, I've seen a few posts on GCC mailing lists about allowed tokens in concatenations, for example, all referencing ISO docs.
SASC seems to be very limitative on this. A nest of 32 macros like the above makes it report an internal error. VBCC and Borland(X86 8-) ) seem to be less limitative, though I haven't tested them to extremes.
Basically I need a limit to settle down to.