Curious which e46? My two e46s have different antennas, but they are both on the roof.
Most, if not all BMWs in recent years have antenna amplifiers. It seems more likely that the problem is with the head unit or with the amplifier than with the antenna itself. The amplifier is usually hiding under the headliner in the rear corner or post. Look in RealOEM.com to get an idea where it might be.
If the plugs are compatible, I would try swapping head units between the two cars and see what happens. If you can get to the amplifiers without damaging the headliner, you might try swapping them between cars.
I own a pair of '97s and a pair of '04s. Swapping parts is a great diagnostic aid.