I will go ahead an throw in that if you find yourself pushing the limits of the compiler for having to many for loops, there are definitely problems with the code you provided.
Ask your friend the source of his information and that he should read the C or C++ standard documentation.
EDIT: Actually, it's not really mentioned to a limit of the number of times a for-loop could be used (in the standard). I'm almost positive that they assume that it's limitless though. There would be absolutely no reason to place a limit on the amount.
Maybe your friend meant four-loops. In which case the answer is... 4. ;^)
I suppose there must be SOME real-world limitation. But it would probably depend on the amount of memory in your PC and it would be ridiculously large.
Theoretically, there is no limit. But like cnoeval said, the more code you have, the larger your executable file gets (and you can't really optimize this yourself very much with C/C++ (which is why assembly is great, and why writing boot sector programs is a good learning experience)), and therefore the more disk space and memory it will use... not to mention how slow it would be to get through 400 for loops.
No, there is no theoretical limit. The boundary of the data type you use as a counter only limits the amount of iterations you can do (but it doesn't really, because it will just overflow and continue looping... e.g. for (int i = 1; i > 0; i++); will loop until the i overflows and becomes INT_MIN); the sky (and the hard disk) are the only limits to the amount of for loops you can have.