There is a very good American website called vacationstogo. They have a Freephone number you can ring from the UK and they are very helpful. Check out their site for good discounts on last minute cruises as well as for others bookable well in advance.
Dont know but dont do a back to back cruise as you will visit you embarkation port twice and have to go through security checks twice not a good experienc.
Agree with previous answer, but another one to try is www.eventsatsea.co.
Another vote for vacationstogo....Very very good sit.