Charcoal canisters are known to go bad, but I believe they typically go south after ~ 20 years of use/big mileage.
Gas leaks can be difficult to find; the car has to be gone over carefully, all fuel lines have to be inspected, as well as the evap system. I follow my nose -- you'll be able to smell the leak in the general vicinity. If the car has been beat up, the tank could have a hole in it at a seam or up top due to rust. You'd smell such a leak outside of the car. I've never seen one leak on an E34, although I see it all the time on E30s.
One thing to do is pull the fuel pump access cover in the trunk (black plate, to the right of the spare tire well, under the carpet and insulating pad) and inspect the lines. It's highly unlikely that the culprit will be in there...probably a bad rubber line up by the blower motor in the engine bay...but it never hurts to look.
You should be happy the car hasn't blown up on you yet...smelling gas every winter and nothing's been done about it yet? sheesh.
best, whit