I'm sorry that the shop didn't do any diagnostics. Literally the first thread when you google "e46 1/4 tank" will lead you to the correct answer. However, E46 fuel pumps do die, especially if they are starved, so consider that preventative maintenance.
Most BMWs have saddle-shaped fuel tanks which straddle over the driveshaft. This means they have two low points, on the driver's side and passenger side. Typically, the fuel pump is on the passenger side, so that side is easy to empty. The passenger side is more difficult, and that is most likely where your problem lies.
The issue is probably with your siphon pump. Despite its name, it is not actually a pump. The return line from the fuel pressure regulator goes back into the tank, and attaches to a fitting in the driver's side of the fuel tank, and uses venturi effect to siphon the gas from the driver's side of the tank to the passenger side, where the fuel pump sits.
To test if this is actually the problem, access the OBC hidden functions by doing the following:
1.Hold Trip Reset while turning ignition key to on position
2.OBC should show "Test"
3.Use Trip Reset to select function 19.0 that unlocks all the features
4.Wait for display to show "Off"
5.Depress Trip Reset for 1/4 second and release it
6.With no delay press Trip Reset several times to select one of the following functions
Scroll through to function 6.0.
This will show you the instantaneous reading of how many liters are in each side of your tank. Since the tank is saddle shaped, there is a fuel level sender in each side, and the fuel gauge in your dash averages the readings from the two sides of the tank.
Once you have the 6.0 readings on your OBC, start the car. Assuming you have less than 1/2 a tank, after a few seconds, you should see the reading for the left side drop well below the reading for the right side. If they don't, then it's time to dig into the tank.
Typically, the siphon pump will be fine, but the hose running between its fittings on the siphon pump and the passenger side can deteriorate or magically fall off. Since opening up the tank is pretty quick and easy (though it is stinky and unpleasant), I'd identify the problem before spending any money on new parts. A new siphon pump is over $100, and your problem will more likely be solved with <$20 worth of hose and ~1 hour of labour.