Turns out it was the battery. The battery had an in-service date of 2006 so it was due to be replaced. I also had a faulty low fuel pressure sensor that was bad. Performance cut me a deal on the battery replacement and replaced the sensor for free b/c they
might have damaged it in the process. And I got to drive a 2013 328i for a week.
I've only had the car back for less than a day, but it seems to drive a bit smoother after the work. The throttle response is smoother, which means my shifts are a lot smoother. I thought I was having trouble learning a new clutch and gas pedal, but maybe it was all of the carbon buildup. They took pictures for me, but they don't show much so I won't be posting them (unless someone really wants to see them).
Thanks to Performance BMW for making things right and taking care of me.