>> testing outside of a BES
It all depends on what your application does. It it uses networking, event injection or anything controlled by an IT Policy, you should test with a BES.
It terms of OS versions, we typically target v4.0. This means using JDE v4.0. For the most part, clients are running v4.0 on their handhelds and this maximizes the compatibility. Exceptions, however, do exist. OS v4.0.2 to support GPS comes to mind.