Check Engine Light Won't Go Out

I have a 99 M3 (E36), and the check engine light won't go away. The BMW dealer has replaced the oxygen sensor, gas cap, and done a tune-up on one
visit. The light came back on in a few days. After that the computer was reset, but again the light came on in a few days. I got the following info from the dealer:
I PULLED THE FILE ON YOUR CAR. IT HAD 254 TIMES BETWEEN VISITS A MAJOR TANK LEAKAGE DECTION. THE DME HELD CODE P0144 WHICH IS A MAJOR TANK LEAKAGE FAULT, NORMALLY EITHER A GAS CAP IS LEAKING OR THE CAR WAS FILLED UP WHILE RUNNING..........
I never fill up my car while it is running, and I always tighten the cap as far as possible. Another mechanic has also thoroughly gone over the gas tank and fuel system, and found nothing.
Any ideas on where to go next?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

If you brought it to a BMW dealer, they should have checked the fuel system for leaks by attaching some sensors to the tank purge valve and the gas filler hole using the GT1 or MoDic computers in the shop. The TIS has the procedure under section 16 00 100 Checking fuel tank and tank ventilation system for leak-tightness.
There are several fittings around the tank that can crack causing this code. The dealer should be able to narrow down whether you have a leak or a bad sensor.
Kyle. 98 740iL 01 525i
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I'm not sure what a P0144 means, but a gas cap throws a P0440, or another in that range.
The gas cap is part of the Evaporative Emissions Control System, and all codes for this system fall within the range of P0440 to P0459 -- maybe P0460.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Not true! DTC Code p0144 involves the oxygen sensor, not the fuel tank or evap system.
read: "O2 Sensor Circuit High Voltage (Bank 1 Sensor 3)"

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That tells me that you have the wrong code. BMW's only have 2 sensors per bank, not 3.
Kyle. 98 740iL 01 525i
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Motorsforum.com is a website by car enthusiasts for car enthusiasts. It is not affiliated with any of the car or spare part manufacturers or car dealers discussed here. All logos and trade names are the property of their respective owners.