The problem is the fuel transfer pump. The fuel tank has two sides, but the fuel pump picks up only from the passenger (US) side of the tank, so if the fuel does not transfer over to that side, you run out of fuel before the tank registers empty. When you add even a little fuel, you are adding it to the side where the main pump is, so the car starts.
On an e36, I understand that the fuel transfer pump is a jet pump that uses the fuel coming back from the fuel rail as its power source. On an e46, it looks to me like there is no fuel coming back from the fuel rail (it comes back only as far as the fuel filter) so I don't know what powers the transfer pump.
My boss's '03 lost its transfer pump while his wife was driving. He had it fixed at the dealer so I never got to see the details.