The heated front screen will only come on if battery voltage is good - it takes a fair current and the intention is to avoid completely killing a sad battery and stranding you.
So, possible sad battery, wiring, or alternator giving slightly low volts could stop it staying on. Something like a bad earth under the dash could do it.
Or the magic voltage-sensitive controller itself could be duff.