Anybody with a real boat loves the smell of diesel and worships Rudolf "The good German" Diesel. We have special rooms on our boats with dedicated air supply and ventilation for our beloved engines. We visit the room regularly to stroke, nurture, and oil our darlings.
I've tried many chemicals to take care of boat smells. I found "Simple Green" Simple Green works great. I buy the gallon jugs. I used it in my bilge and engine room after I accidentaly (more like stupid) drained 40 gallons of diesel into the starboard engine room. Cuts right through diesel, grease, and other nasties found hiding in the far reaches. It leaves a pleasant odor as well.
Yank the engine, tanks and assorted bits n pieces. Scrub the hell out of the bilge area and repaint with epoxypaint. Bilgekote is a good one. Reinstall all the bits n pieces, making sure they don't leak. That should solve your problem.
I know all about the magic smoke - mother nature liberated almost all of it from our boat last week. The fridge and TV are about the only thing still containing smoke, so I guess we are back in college now...