Flying from Newark, ticketing all Alitalia, we have only a 45 min connection time between Rome (FCO) and our Tirana flight (TIA). Both Alitalia and our tour company claim that is plenty of time to catch the flight to Tirana, but Albania is a non-Shengen country, so I believe that besides security, we have to go through passport control. Doesn't seem like enough time for us or our luggage. Has anyone successfully done this?
No, if you are changing in Rome, you will stay "airside" (aka in transit) and not need to go through immigration. This is same as any other international change for a third country EXCEPT for Schengen
You luggage should be labelled through to Tirana, and you will not see it in Rome.
This should work. As this is one through booking, if you first flight is late and you or your luggage miss the connection, it is the airline's problem to get you and your luggage to your final destination.