It may be the same engine, but that doesn't mean all of the features are available. A good analogy would be Unix kernal, which both Mac OS and Unix run off, They are two quite different operating systems but they both operate off the same kernal. Because mod teams don't have access to tthe engine its self allthought the features are there we can't get to them, to once again use the OS analogy say you had a Mac keyboard and wanted the 'apple key' to work in Unix, The Unix kernal can obviously use the apple key (otherwise Macs wouldn't work.), but you can set it up in Unix. Being a windows user my anolgy may not be 100% correct but I'm sure you catch my drift.
A similar analogy would be windows and Dos. Windows is just a pretty GUI (graphical user interface) applied over the top of Dos. Windows allows access to a lot of feature but if you want to do 'ping' a computer to test network connectivity, you need to use dos (command prompt). So if we were modding Windows we would not be able to add a ping feature, because we do not have access to the Dos, only to the features included by microsoft in Windows. This is why coding takes us so long, because we need to patch bits and piece of included code together to create code that would be easy to mod if we had access to the engine, which we don't.
So keep in mind; when we mod bf2 we mod BF2 not the bf2 engine, if we mod BF2142 we will be modding bf2142, still not the actual BF2 engine.
General Un-Co,
Signing off
