For jbm 1.4, you need to read the release notes for the changes. Each minor release has some bug fixes, and they all back compatible with existing functionalities, by which it means you don't need to change your application code as long as you are using public APIs.
You shouldn't use mixed version of JBM in runtime, as some of the libs need to be consistent, for example the jboss remoting jar.
To clarify Howard's answer:
For JBM 1.4 we try and keep releases compatible but we make no guarantees - sometimes we have to fix bugs or other components need to fix bugs (e.g. JBoss Remoting) which requires incompatible fixes.
For EAP CP releases, the rules are stricter and we are required to maintain compatibility between them unless there is a critical bug whose fix requires compatibility is broken.
JBM 2.0 is *very different* to JBM 1.4. There is no compatibility between 1.4 and 2.0