I have a 1993 BMW 325i. I smell gas fumes while driving my car at low speeds or while sitting in the garage. It is also worse when the tank is full. I have replaced the charcoal canister, the gas line filter, gas cap. There is not gas leaking out of hoses anywhere. I as assuming it is a vent issue.
You may want to check the connection where the filler tube attaches to the tank for rust.
Also check for any break in the vent line from the tank to the charcoal canister. The line should be rubber from the tank connection to the steel hardline that runs to the engine compartment, then a rubber line to the canister. Also, check to see if the purge line is broken or connected improperly.
If the smell is more like vapor than raw gasoline, then the evap system is likely. But finding those leaks can be a nightmare. You might consider just taking it to someone for a smoke test.
The Top Of The Gas Tank Could Be Perforated. Often Dirt Traps Moisture Up There And Creates A Rust Breeding Playground.
CSA
My first thoughts were along the same lines as those of common sense answer.
This vehicle is now 17 years old, and there is a very strong possibility that there is rust damage to the top of the gas tank.
This type of problem is not uncommon in a car of that age–even on a Beemer.