Work-around for hang-up in powerpoint by VBA, use at your own risk.
You should add following modules.

This module is tested on PowerPoint2003@Window XP

"Class Module"
---------------------------------------------------------------
Public WithEvents appevent As Application

Private Sub appevent_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
  Dim sld As Slide
  Set sld = Wn.View.Slide
  Dim s As shape
  For Each s In sld.Shapes
    If s.Name Like "ShockwaveFlash*" Then
      Dim swf As ShockwaveFlash
      Set swf = s.OLEFormat.Object
      Dim fn As String
      fn = swf.Movie
      With swf
        .Movie = "dummy"
        .Movie = fn
        .WMode = "Direct"
        .FrameNum = -1
        .Playing = True
      End With
    End If
  Next
End Sub
---------------------------------------------------------------

"Module"
---------------------------------------------------------------
Dim myobject As New Class1

Sub startEvents()
  Set myobject.appevent = Application
End Sub

Sub stopEvents()
  Set myobject.appevent = Nothing
End Sub
----------------------------------------------------------------

In a powerpoint, when the slide-show ends, some properties of swf
files, such as "Playing", are automatically modified.
If you restart slide-show, swf movie won't be shown, since the "Playing"
properties are reset to "False". To "Rewind" movie and change "Playing"
property to "True" are supposed to be enough to reload movies, but it
does not work for wm3d. (I don't know why.) To overcome this damned
function, SWF movies in a slide should "ALWAYS" be reloaded when the
slide is shown in the display/screen. Modules above do this.
(If "Movie" property is modified, powerpoint automatically reload the swf
movie".)

To make enable this function, run macro "startEvents()".
If you use this script, "WMode" is automatically set by this script;
what you must set is only "Movie" property.

See http://support.microsoft.com/kb/234184/en-us for basic usage of PPT VBA.
