Have you considered using Fort Lauderdale or Tampa as your port of departure? Car rentals are relatively inexpensive even one way and the cost of flights in Florida should not be too high as to ruin a vacation.
Check Expedia, Vacations to Go, Orbitz, to see the cruises out of Tampa and Fort Lauderdale as there are lots of cruises. Be flexible and I am sure it will work out nicely.
Hope this helps,