Either you misunderstood or the instructor was an idiot. In my humble opinion.
Source code file names should always reflect the purpose of the file. One should not have to hunt through a directory full of files named main_x.c to find the specific file of interest.
I agree that some warning that main.pde would no longer be a valid name could have proven useful, but, I suspect that it never occurred to the team that it was necessary to warn people not to do something dumb. (Again, in my humble opinion.)
Why not call them "test_"?
Way more descriptive.
Every C program has a "main" - it would be crazy to call all the source files containing "main", "main".
Just cause they compile don't mean they ain't sh#t. I figure they must compile and do the job to be one level above sh#t. Then again I have working on a sketch for three months, compile it dozens of times and it is still !@#$
O by the way, hold down the shift key and then compile the sketch. Study the output, it will tell you why you can't use main. besides being a really bad file name.
Don't do this, but if you rename arduino-0022/hardware/arduino/cores/arduino/main.cpp to main_orig.cpp you can save your sketch to main. This is a dumb idea, it will more then likely break something important.
It seems sketches named 'Tone' do not compile as well. Same errors.
Maybe the common rule is that the sketch name must not repeat any of the reserved words or function names...