It is code 45, which is o2 sensor indicating rich fuel. You should check your evap canister, which is probably located under your air cleaner housing. Split hoses, bad purge valve, disconnected hoses, cracked housing etc. will cause this. Determine the condition of these items and replace as needed. Check the canister,if fuel is leaking from it, replace it. There is also a test you can try to see if air passes thru, but you need a hand pump. The test is in the haynes book in the emissions control systems.You may also have to replace ( I would ) your O2 sensor AFTER checking / repairing /replacing the evap. canister. As for the odor coming thru vents, this condition causes gasoline odors to be smelled. You may want to check and make sure that the floorboard area on pass. side of vehicle is dry. A wet area could be the result of another common problem on old Blazers, the dreaded heater core.