It's probably the ECU throwing a cel code.
For some strange reason, Subaru decided that when a code is logged cruise is disabled.
I have had a code on my XT for a few months (tumbler valves), car still drives fine but I have the check engine light on and flashing cruise.
Check if you have a cel code logged - you can either use a reader plugged into the OBDII port under the dash or I think there is some procedure you can follow (search the forums) to read the codes without an external reader.
Edited to say - my code started out as random also, it cleared itself a couple of times and other times i would clear it with a OBDII reader. Now it just comes back on straight away. I am just tolerating it until I get exchange heads with the TGV delete mod to remove the whole crappy system.