Have you had the lambda probe (oxygen sensor) in the exhaust checked / replaced. This is a relatively inexpensive part but can cause constant engine management problems when its faulty.
With regard to the above, and in general, it really pays to get the car run on a Bosche engine analyser (or similar). These systems plug into the cars loom and can monitor several sensors at once. Most decent independant garages can offer this type of service - or look up under Bosche in your local commercial phone books.