Dont know what the problem is but i can tell you its a vacuum leak . the vents are vacuum operated and require air pressure to change between the vents and floor. the defroster is default setting you may have a vacuum line that has come undone but all i know is its somewhere under the dash.
Check your servos.
You have a leaking heater core. You might smell antifreeze if you turn on the defroster.
it won't stay on if your blowing it the floor or using defroster.
== ==
I have exactly the same problem on my 2000 Still looking for the answer
you have a vacuum leak check hoses, listen for leak on smaller hoses.vacuum controls the air that comes out of defroster , floor, or dash.
under the floor directly under and behind pedals
If it is coming from the tank: NO. If it coming from the bowl: YES!
Heat is coming from the engine.
How easy is it to replace head gasket on 1994 firebird lt1 motor
Most temp blend doors have an electric actuator. The defroster, dash vents and floor vents are usually run by vacuum.
Try it with your lights on, its probably your Hi-lo dimmer.