I dont understand the missed meals issue. Maybe you didnt have the "proper" clothes for the MDR but there are always alternate dining options on a cruise. Also I cant believe the concierge couldnt help you - at least to lend you a sport jacket for dinner for example.
It also sounds like you arrived in Rome the day your cruise departed which is a huge no-no. Thus you had no time to shop in Rome upon arrival. FYI I always pack an extra set of clothes in my carry on even for domestic flights and even when flying home. You never know when delays will happen or when they might need a VDB.