Desperately need your help here. Sorry for the length, just wanted to give all info.

Back in January, I had my car overheat which resulted in a cracked cylinder head. Didn't search around for the best indy, went the cheaper route. The guy is known as a great option to go to when welding cracked heads. (I know I know, I shouldn't have gone the weld route, but money was tight) He said replaced the PCV valve, upper and lower hoses, valve gaskets etc. Got the car back, but the car drove sluggishly. 50 miles later, the CEL light came on. Took the car back to the indy the next day and asked him what was going on. He pulled some codes, and got p1188 and p1189. He said that I prolly just needed to put more mies on the car, and that I might want to look into changing the o2 sensors. He wanted to do the job for me, but I didn't trust his opinion after getting the car back with more problems than when the car went into his shop. By now the car was idling rough as hell at stops, had no acceleration going up the smallest hill...and was sluggish past recognition. Also mpg was shot! And when driving on the freeway, in the first 3 gears, ALL of traffic passed me, as I couldn't accelerate, even with pedal to the floor.

Went to my family bmw indy and he said that things looked shifty and that I might want to call the Bureau of Automotive Repair. I'm a college student, and didn't have time to go through all of that. My family indy said he would check out the spark plugs to see if they were causing the misfiring and rough idling. He ended up changing them out with some NGK ones. The car drove slightly better for the test run, but was back to its horrible state on the way home.

Three weeks ago, I replaced the o2 sensors myself. I have a 1997 528i, build date 9/96, so I actually only have a total of two o2 sensors on my car. Immediately my mpg went up, then slowly went back down (I'm averaging 20.4 mpg, and usually cruise at 75, I used to average 28 before the car overheated)

Then a week later, I bunch of BMW enthusiasts and I with m52 engines replaced our vanos seals with the Beisan Seals. I thought this would fix the problem. While doing my vanos seals, I tried to lock my cams in the dead center position, and noticed my cams would not align. Then one of my buddies noticed that there was a paint marking on the front of the head. This leads me to believe that the jack A** that did the cylinder head job, didn't have the locking tools and realigned the cams improperly! Luckily there was a bmw mechanic hosting the vanos seals replacement event and showed me how to properly align the cams. Futhermore I noticed that the gaskets where never replaced, the same gaskets that were on the car when it overheated where reused on the engine!!! I replaced the seals, my cold start issue was gone, the car idle a little less rough, and the CEL light was gone, or so I thought. On the drive back from Modesto, CA to San Fran, the light came back on!

I have no clue what to do now. When I'm in 4th gear, the car runs like a champ. Off a dead stop its slow and sluggish. It doesnt idle as much at dead stops, but still is noticeable. At lower RPM's when driving, the car drives like sh*t!

The job done by the indy is warrantied, but after discovering that he did a joke of a job in the first place, I rather fix it myself, then go the Bureau of Automotive Repair route and let them handle things. As for now, I need to get my car running like it should.

I searched the forums, and saw that some people experienced what I've experienced, but there own situations differ from mine. Just to refresh, I've replaced:

I read somewhere that people said you should check coil packs and cam sensors. I was going to have my fuel filter replaced, but my family indy said it was replaced in 2004, and that it was VERY unlikely that it was the cause of the problem. Maybe the fuel pump regulator?

Here are the codes that were pulled when I did the vanos job (Some are gone by now, like the vanos jamming):

P170
P300
P301
P302
P303
P304
P305
P306
P1189
P1188
P0173

Once again sorry for the length. I've been dealing with these problems since January, and finally have my summer break and can give more attention to this issues. All advice, comments, opinions, appreciated..