I live in Knoxville, TN and we have to take connecting flights to get almost ANYWHERE. This is not usually a problem, except for taking more time to get to the destination. I would look for a 1 hour layover, if possible, to allow plenty of time for your flight to be a little late and still make the connection. Even if you miss a connection, the airlines will get you where you are going. Again, it will just take longer.
$107 sounds like a great rate to me. I would book it. If money is not a concern, then you could keep looking for a non-stop flight.
I am also planning a cruise for January and would not hesitate to book a 12:45 pm return. That should give you plenty of time. Most people on the cruise board report being able to get off the ship by 8:30 am.