I've also used the flat as the first coat, then using the semi-gloss as the finishing coats, with decent results. I use my gasser primarily for burning off gunk in cast iron pieces, so I crank the heat for long periods, with the paint lasting a couple years before I start seeing it flake off in a couple spots. Last fall, I started using the Rustoleum BBQ paint (1200 degrees, just like the high heat) in the 1QT can on some of my gasser restores. I found it at Lowe's, about $16 for the quart. It is more like a satin finish than the semi-gloss finish of the spray paint, which I like. It goes on very easily with a foam roller and an angled brush. I've painted 4 gassers (lid sides and outside of the firebox) so far with the one can, and still have enough left for at least one more - not nearly as much waste as the spray can. I also try to bake on the finish by heating and cooling the box and lid a few times, gradually increasing the temps. I do this after the paint has had enough time to dry, usually a couple of days later. I honestly don't know if it helps, but it makes me feel better....
I don't think any paint will last indefinitely, but with the ease of using a roller and brush when necessary, I think the BBQ paint is a pretty good way to keep your grill looking good.