Found out something interesting, not sure if its totally right though
Ive read somewhere on Microsofts help site that usb ports go into a "sleep mode" if nothing is drawing any power, more accurately if the current drawn is below 50mA.
It could be that as joysticks are very simple devices that its doesnt draw much current and so the port is disabled. When the stick failed again I plugged my joypad back in, which is a motion sensor sidwinder model. After a bit I tried my joystick again and it worked. Could be that the joypad drew enough current to wake up the usb port
Anyway, just a theory