I agree with Richard, your problem could have so many causes that you need to get the car hooked up to a tester (PST-2, PIWIS) to find out what is going on. Loss of power mid range could be caused by, MAF, lambda sensors, variocams, crankshaft Hall sensor, fuel pump, fuel filter, contaminated fuel, e-gas, plugs, coil packs etc. etc. I don't think you'll find the answer to this one by chance.
One thing worth trying before going to the stealer / indy is just to reset your DME and see if it clears the fault. To do this you disconnect your battery for a few minutes (usually 10 will do - I always allow 30 though). Procedure as follows:
1) Turn your ignition to 'on' - all dash lights illumiated but engine OFF. This prevents the alarm going off
2) Using a 10mm spanner, loosen the negative battery terminal and detach. Leave for 30 mins. (You can remove the key from the ignition now)
3) Re-attach battery terminal - do not overtighten, it's only made of soft lead.
4) Start you engine and leave to idle for a couple of minutes
5) Reset your OBC setings / radio code / radio settings / dash light settings
6) Run your windows up and down a couple of times to re-enable the one-touch facility.
7) Drive normally
This procedure resets all the cars electronics to factory spec and your engine electronics back to their base maps. If there is a sensor at fault, it won't make any difference as the DME will immediately register the fact it's getting no reading from that item (or a reading ouside the permitted range) and still run like a dog! If it was just adaptation related, it will clear things up. Worth a try for 30 mins.