To be clear to all readers, for h.s. students, GPA isn't the critical thing -- it's your class rank. Also important are the courses one is taking. Taking "solid" courses such as Engligh, calculus, chem, physics, history and advanced language -- especially at the honors or AP level -- will serve one better for USNA purposes than psychology, history of art, entry level language, music theory, etc.
For college candidates, it's how well you do in the plebe courses -- not really class rank or GPA. So, if you gets As in calc and chem and English and history, you have improved your chances.
There is no per se mininum SAT. However, in the end, you must be competitive for an appointment. Realistically, you should shoot for AT LEAST 600/650. That said, I've had candidates with <1200 get in and more than a few candidates with >1500 (including one 800/800) get turndowns.
As a general rule, if you are reapplying and were an official candidate last year, you'll be one this year.
As for your SAT prep . . . your college grades are more important but if you had <600/600, you should retake the SAT. USNA will not consider your packet until after your first semester grades are in so there is no rush.
I can't speak for prep courses but most people I know who improve their scores do so b/c they work on their own outside of the course. Courses basically give you tips on how to tackle different types of questions, how to manage your time, etc. They also have you take tests under real world conditions to practice. And courses can be a great help. However, you need to practice, practice, practice on your own. Years ago before courses were the rage, I dramatically improved my math SAT simply by working the old "Barron's" books. I approached it as another course and worked an hour every night and several hours on WEs for months. It helped.