I have been raving a long time about the missing Complete event in Mac players, it appears that it is caused by a zero-length response is returned to the client.
Its been there a very long time as I remember having troubles with it during the Flex 1.5 days developing for the Macromedia Central runtime.
A quick and dirty hack on the server is to write something (can be anything) back into the response stream. Clients will ignore the payload and only look for the HTTP status header but the Complete event will be thrown on all players… 🙂
is it not an option to modify the servercode, you can make up for the missing event by listening for the progress event and in the handler comparing the amount of processed bytes with the total amount of bytes.