Buying a used 330i with finance numbers at $679/month for 72 months to "boost your credit back up" simply doesn't make sense no matter which way I read it. I can understand feeling like the BMW would make your happier than the 4Runner, but wow... that's an astronomical payment at an absurd interest rate. You're going to be upside-down for almost the entire life of the loan.
If you're making good money now and are dead set on a BMW, why not save up for a bit, put down a sizeable downpayment on a used 2007 335i (you can find one under $30K) and then pay the car off before you even THINK about trading it in on something else. Just my opinion.