The issue you have is that pixels are square. So when you have a line that's diagonal, you can see the edge of each of these squares. The reason that you often don't notice this is that graphics are often antialiased, which means that the graphics program will interpolate the colors along the edge, so that the colors are a blend between the colors on each side and give the illusion of a smoother edge. This is also the reason behind the retina display, which packs 4 pixels into the area that are occupied by one on a normal screen--the image has the same physical size, but with more pixels this interpolation is much better.
That said, keep the icon in Fireworks and export to the size/format that you need. This is what Fireworks was designed for. If the final format you need is png, make sure that you export from Fireworks and don't used the layered Fireworks native png format.