I presume this is the M40 motor? If you drive it in second or third gear (assuming it is a manual) does it rev up to about 5,500 RPM without a problem? What RPM does it achieve before baulking at 60Km/h in top gear?
Check that the camshaft timing is 100% correct..use a Haynes or Bentley manual to see how this is done...if it is indeed a M40 I can give you step by step advice on this.
A badly worn camshaft can also cause this.
The Air Flow Meter could be bad....try and swap it out with some other 318i owner.
Fuel pump or fuel regulator could be bad...Haynes tells you how to check these items.