I think I found a new solution for getting rid of helmet stink. Historically I've tried washing out the liner with mild soap or spraying with Febreeze. Both sort of work, but not completely. This weekend I noticed my liner was stinky again as I was sitting by my locker. My locker happens to be right next to the picnic table and microwave oven in our locker room. I remembered that putting smelly dishwashing sponges in the microwave for 45 seconds (we them first) gets rid of the smell. I figured I'd try it with my liner. First I washed out the liner in the sink with warm water and a bit of soap like I usually do. You should wring it out, but leave it damp/moist. Then I stuck it in the microwave for 45 seconds. I then rinsed it again in warm water and squeezed out the water (be careful - its going to be hot when you take it out of the microwave). The liner was dry and no smells the next morning, lasted all day. We'll see if it works through next weekend.
So go nuke your helmet liners. No guarantees on this one. If you melt yours, you are on your own. It worked for me though.