Have spent some time looking around trying to work out how to change a Solution that is in 'Deploying' status to anything else. You can only Retract a solution when it is deployed. I found an article here which mentions the stsadm command 'canceldeployment' where you have to pass in a timer job guid. Anyway, another post showed me how to find this guid with the stsadm command 'execadmsvcjobs'. Alex Thissen goes onto explain that sometimes you just have to delete the Solution to get it to go in properly!
I also found that the Job Definitions still sits there, but if I click on it and click delete...when I check the Solution Management, it actually says it's 'Deployed'. Not sure why it's not completing the Job, but the change took place after this!