If you set a SWF file's background color to the same background color as an HTML page, the colors don't always match on all machines. In particular, you're more likely to see a slight difference on 16-bit monitors, set to display at "thousands of colors." That's because a 16-bit monitor can't display as many colors as other monitors, and different renderers can round colors in different ways.
Monitors set to "hundreds of colors" have a wider range than those set to "thousands." Although a 16-bit display can show more simultaneous colors, the palletized image can choose from a wider range of colors.
The math shows why: 32-bit monitors and 8-bit palettes both use a full byte of information for the red, green, and blue channels. That's 256 possible values for each of three colors. But a 16-bit monitor has only 2 bytes of info per pixel, and it gives about 5 bits to each channel. Therefore, it can only display 32 different red values, 32 different green values, and 32 different blue values. Each channel can display only one-eighth of the colors seen on other displays.
When a color is shown on a 16-bit display, most of the time it is rounded to the nearest permitted color. Different renderers in a browser can round colors in different ways. That's why a SWF file's color and HTML color can have the same definition, but look different from each other on different machines.