Feynman Diagrams with tikz
As far as I understand it, the "dashed" style option is a shorthand that sets /tikz/dash pattern
to a dashed style (PGF manual v2.1, p157). That then stays in effect for the rest of the path, until you change the dash pattern again. Because the other styles don't specify the dash pattern, they'll keep using whatever was in effect. Try adding "solid" to the definitions of (anti-)particle and gluon, and it should work.
I don't know if you are interested, but if you only need to draw "standard" diagrams you can take a look at the feynmf
package which is designed just for that!