Hace poco me encontre con un problema similar y lo que hice fue un script para detectar en que resolución de pantalla se encontraba el usuario, y dependiendo de eso que viera un swf u otro. Es decir cree 2 versiones del mismo flash (no me costo mucho, solo tuve que redimensionar los elementos y modificar los textos).
Como verás el script se sitúa cuando llamamos al flash, dentro del body.
Código:
<script type="text/javascript">
<!--
var flash_w=600;
var flash_h=450;
var flash_name=".\/flash\/nombreflash.swf";
if (screen.width==1024){
flash_w=600;
flash_h=450;
flash_name=".\/flash\/mapa\/nombreflash.swf";
} else {
if (screen.width==800) {
flash_w=301;
flash_h=225;
flash_name=".\/flash\/mapa\/nombreflash_peq.swf";
}
}
document.write('<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" name=\"flash\" width=\"'+flash_w+'\" height=\"'+flash_h+'\" id=\"flash\">');
//-->
</script>
<script type="text/javascript">
<!--
document.write('<param name=\"movie\" value=\"'+flash_name+'\">');
//-->
</script>
<param name="quality" value="high"><param name="PLAY" value="false"><param name="LOOP" value="false">
<script type="text/javascript">
<!--
document.write('<embed src=\"'+flash_name+'\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"'+flash_w+'\" height=\"'+flash_h+'\"><\/embed>');
//-->
</script>
</object>
Espero que te sirva !
Suerte !