Nice idea. I'm not sure it's the best approach, but if it works for you, use it. I'm not convinced it'll be fully cross-platform-friendly in that method.

Essentially what you've done is just change the <img src="...." .... > tag and replace "img" with "embed". While that may work, it's not complete code, and supplies irrelevant parameters to flash while skipping what could be other important parameters used by flash.

I suppose for very simple flash objects that may be acceptable, if it were to work properly on all browsers.

Another improvement I'd suggest would be to not touch html_output.php at all, but to instead add a new file, such as /includes/functions/extra_functions/my_zen_flash_functions.php and just put your zen_flash() and zen_flash_OLD() functions in there. That way you won't be messing with core files, and you can adjust your custom code easily without creating problems for upgraders or busting peoples' sites if they install your older code when a new html_output.php is published.