I have a 2007 Suzuki Forenza with 40,000 miles on it. The check engine light would come on and off for the past few thousand miles. It would go off any time I'd decide to take it to the dealer. Once I hit 40,000 miles, the check engine light hasn't turned off. The car now hesitates and jerks when I push the gas during the first few miles of driving. It also runs cold for the first several miles (even during the extreme heat of summer and I live in Texas). After the first 4-5 miles of driving, the temperature goes to normal and it doesn't seem to hesitate/jerk as noticeably.

What is wrong with my car? Please help.