It's definitely better -not- to graduate and to take the classes, assuming you have the time and money. You need to raise your undergraduate GPA; once you graduate, it's set in stone, regardless of any additional classes you take afterwards, either at the graduate or undergraduate level.
Retake the classes you did poorly in (even if your university does not have grade forgiveness, it will show that you can do the work) and take the prerequisite classes you need. Needless to say, you need to get As in everything.
The GRE should be fairly easy. Take a prep class if you need a math review, but it's not that different from the SAT.