EDIT
The behavior I described below only takes place in IE in particular situations. When the object element was present in the loaded DOM, I could update the value for the param element named movie, but the state of the object didn't change. And the object can't be easily refreshed as far as I know. It looks like the best way is to remove the object element and add a fresh one. For that, it seems like the SWFObject jQuery plugin that SolutionYogi suggests, or something similar, might indeed be the best way to go.
ORIGINAL
From what I see when I try this out in IE8, IE retains only the embed elements as the page is loaded, not the object and param elements. So you can't change that value of the param because it no longer exists.
So if this gets served:
<object width="425" height="344">
<param name="movie"
value="http://www.youtube.com/v/ePXlkqkFH6s&hl=en&fs=1&"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/ePXlkqkFH6s&hl=en&fs=1&"
type="application/x-shockwave-flash"
allowscriptaccess="always"
allowfullscreen="true"
width="425" height="344"></embed>
</object>
It becomes only this in the IE DOM:
<embed src="http://www.youtube.com/v/ePXlkqkFH6s&hl=en&fs=1&"
type="application/x-shockwave-flash"
allowscriptaccess="always"
allowfullscreen="true"
width="425" height="344"></embed>
To get a movie to update in IE, I had to cause IE to reparse the HTML for embed. The following seemed to work:
var placeHolder = $("<div />");
var tempParent = $("<div />");
var embed = $("#movieparent embed");
embed.replaceWith(placeHolder);
tempParent.append(embed);
embed.attr("src", newSrcUrl);
placeHolder.replaceWith(tempParent.html());