There is a serious need for ported applications to become _not_ entirely self-contained. This is mostly because of the requirement to use a proper shared library system, but there are other shared resources too. !SDLSound is one such example. Many ported applications don't have application directories anyway - these are typically command line tools.
Having said that, having a proper porting system (i.e. what I've just contributed to GCCSDK) makes wrapping things up in application directories, as well as adding proper packaging much easier, as it avoids most of the manual effort.