Any work or wrecks before the problem came up?
These can be hard to find so, anyplace where some maintenance or
repair has been done would be a good place to inspect. The evap vacuum
and vaporlines go all over the place. Sometimes a 'smoke test' will
show a leak in a vacuum line.
===========================
No work was done other than the regular oil changes. I should have added
that this problem (as expected) got progressively worse with time, with the
intervals between fault resets getting shorter and shorter - much as I would
suspect with a decaying gasket, hose or loosening connection, but nothingis
obvious so far.
Does any fault registered with the OBD cause the system to go to a default
mixture? My mileage sucks when the light is on.
There IS a 'limp home' mode. Not sure exactly what/how many conditions
would trigger that - likely the CEL would be flashing though.
I THINK 04s still have the Engine Temp Sensor (not Temp gauge sender -
which would be separate). If it's bad, your car can stay in 'choke'
mode all the time, run rich, and won't throw a code.
Definitely have a look around and ubder the intake system for loose
hoses. Not impossible for a gas cap to go bad I suppose.
Perhaps getting the frezeframe data and looking at the fuel trims
might help a little.
If you search/post around
http://www.subaruforester.org/
ultimatesubaru.org and scoobymods and NASIOC etc., you might run
across the 'most common' evap/vacuum problem areas. Be prepared to
tell them the miles,condition of your car and the exact trouble code
you get.