Исправлено! Мой новый код указан ниже. Проблема заключалась в том, что IE обрабатывал параметры Flash (не выполнял асинхронное обновление параметров для объекта). В FF он работал нормально, потому что он встраивал видео, а не обрабатывал его как объект.
Новый Javascript
function display_youtube(new_url) {
$('#object_url').replaceWith('<param id="object_url" name="movie" value="' +new_url+ '" />');
$('#embed_url').replaceWith('<embed id="embed_url" src="' +new_url+ '" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="720" height="480" />');
$('#shade').css('display', 'block');
$('#youtube_player').css('display', 'block');
$('#exit_youtube').css('display', 'block');
}
function exit_youtube() {
$('#object_url').replaceWith('<param id="object_url" />');
$('#embed_url').replaceWith('<embed id="embed_url" />');
$('#shade').css('display', 'none');
$('#youtube_player').css('display', 'none');
$('#exit_youtube').css('display', 'none');
}
Новый HTML
<object width="720" height="480">
<param id="object_url" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<embed id="embed_url" />
</object>
Я думаю, что хитрость здесь заключалась в том, чтобы заставить IE полагаться на инструкции из jQuery, прежде чем он сможет выполнять какие-либо действия над объектом, фактически предотвращая кеширование IE любых параметров с самого начала. FTW!