GMATPrep is the closest to the real thing (both the questions and the scores).
MGMAT is the most useful for practice problems, since it gives you detailed explanations of why you got the problems wrong. it also tells you the types of problem you got wrong, so you can pinpoint where your weaknesses are.
in my opinion, a good study course will include both
MGMAT tests and GMATprep tests (ideally take the first gmatprep test at the beginning of your study course to give you a rough idea of where you stand, and then take the 2nd gmatprep test towards the end of your studying, so you can see how much you've progressed). in between, take the
MGMAT tests, as well as any others you may deem necessary (i've never taken any other tests so i can't comment on how good they are, but there should be plenty of reviews of other tests here on the forums).