>> there is no guarantee the system or the compiler will place return 0 on success.
The guarantee is in the C++ standard. It is not undefined.
Bucket, don't worry about the extra conversation taking place here. If you found a way to pause your program on your own, then use that way, it is fine. If you are curious and want to look at other ways, read the FAQ and search the forums, there have been quite a few similar discussions about the good and bad of system("pause"), cin.get(), and the other options. At this point it really doesn't matter what you choose, so only pay attention to that issue if you're curious.
As far as '\n' versus endl, that really doesn't matter either. It is excellent that you want to use the proper technique when programming, but in these cases almost all options mentioned are perfectably acceptable and widely used.