I don't think the full version of BF2 can be pirated, because you have to log into EA Games's account server to play.
I know Battlefield 1942 was impossible to pirate, because once a CD key was used from a keygen it would be tied to that computer and no one else could use that CD key. So pretty soon no CD keys worked.
If Battlefield 1942 was impossible to pirate, it seems like the newer version Battlefield2 would be even more impossible.