If iWeb does what you describe, then keep your swf file OUTSIDE the published folder.
You may have to re-adjust the pathname to the file in the HTML snippet.
In general, do not put custom files inside the folder with the sitename.
Put the swf file in the root folder of your hosting account, the same folder where you publish your site folder to, and link to it there. That will keep it out of the clutches of iWeb and prevent it from being deleted whenever you republish the site.
The link to the file would be http://your-domain-name.com/xxx.swf