Agree with M54, Dupont or PPG is the way to go (more durable and flexible... less headaches down the road), just make sure that the prep material they use is also Dupont or PPG... cuz some unscrupulous paintshops use substandard prep material and branded clear or base coat. Remember the most important step in the painting process is the prep.

With regards to your roof having rust, I guess you have no choice but to scrap to metal, just make sure that the shop knows what they're doing. Its ain't gonna be cheap, but you get what you pay for.