New Itinerary:
Barcelona, Naples, Rome / Civitavecchia, Livorno, Nice, Marseille, Barcelona

With this new itinerary you could board the ship in Rome/Civitavecchia, fly in early (or stay after the cruise) and spend as much time as you want in Rome. Of course now you can't do that in Barcelona, which is a great city (more to come on that in the coming weeks). But, Barcelona's port is right in the city, you can get off the ship and take a 10 minute taxi ride and you're in the heart of the city.
I think the Rome embarkation just makes more sense if you're taking this cruise to see as much as possible. Of course if you've already been to Rome, then boarding in Barcelona might make more sense, then you can have a "sea" day in Rome and relax.
Reminder: I can be found on Twitter @Travelingiraffe