Maven has a concept of the nearest definition, which means that you can declare your preferred version of a dependency in your POM and it will override any different versions used transitively by your other dependencies.
So your newer projects should declare a Spring 4 dependency in their POM. Provided the groupId and artifactId are the same between Spring 3 and 4 (which I believe they are), the new project will only have Spring 4 classes in its classpath.
So then you have to hope that Spring 4 is backwards-compatible with Spring 3, otherwise your library may encounter runtime problems. Perhaps see Spring 4.0.0 backward compatibility.