My method for cast iron guns: Use Stripeaze (sp?) paste paint stripper per intructions, then wash off any residue. With suitable clothing all over myself, and protective face shield, mount a properly-rpm rated knotted wire rotary brush to an aprox. 11K+ rpm angle grinder, with side handle mounted, and take surface down to bare iron. Wash again,soap and water, towel it dry, let crevices dry, then prime with Rustoleum metal primer. Then coat with Rustoleum gloss black. Recoat per instructions if desired, or if any primer shows thru.
A 24 pdr. M1819 seacoast gun in the front yard that had this treatment still looks like it did about 25 years ago when I last painted it.