I don't believe there are any public ESP's for BF2 at this moment that are are undetected.
And there probably won't be any because Punkbuster looks for public cheats and bans people who use them.
If you want a cheat that is undetected you'd have to pay for a private ESP.