As Johnathan mentioned, compatibility is going to be based on the JDE (component-pack) version, not the blackberry plugin version itself.
To delve more into which JDE and component pack you want to use:
Which JDE you use will limit (or occasionally change) which APIs are available. Unless there is a particular API feature you need from a newer JDE, building against and older JDE will make your application work on a wider variety of handsets.
The JDE version of your app must be less than or equal to the OS version on the blackberry in order for your app to run on that phone. Here is a link to another question on stackoverflow which points to answers as far as what models run on what OS (which does, btw, occasionally vary by carrier): http://stackoverflow.com/questions/520816/is-there-a-chart-of-existing-blackberry-platform-vs-os-vs-model-versions
To maximize the balance between compatibility with older blackberry handsets and feature availability, at my office we set our goal as to target the 4.3 JDE, We also make a separate build using JDE 4.7 for touch-screen devices to avoid the application running in compatibility mode on the Storm, as compatibility mode on a touch-device means flip events are ignored and the application will not run in full screen, meaning the app doesn't look so hot. You can add IFDEF handling to include any special handling you want to override in touch-screen mode (though for the most part there are very few places we had to change the handling) to allow a shared code-base to build two separate versions of the application.
If you have particular handsets you would like to target, find out what Blackberry OS version they are running and pick a JDE that is that version or lower.