If you think of New York and London as cutoff, that doesn't exist as a market quote (white instead of amber in OVDV as it is interpolated).
BGN and BGNL stands for New York and London daily close according to the times shown on XDF.
Never use CMPN, that is composite and just a hard coded list of contributors without any quality check (timeliness, spikes etc). BGN was developed afterwards. QFX "explains" the details and differences between the composite (CMPN) and generic (BGN). If you use long history, you will realize BGN falls back to CMPN (before BGN existed).
There is also BVOL, from Bloomberg's financial engineering team. That is premium data though. Main difference ist what fly is used. OVDV shows details in settings - conventions. For FX, the difference between BGN and BVOL is negligible in my experience, but it is a big thing in equity (LIVE vs BVOL) and interest rate options.
Bottom line, never use CMPN unless nothing else is available. The help desk would answer this swiftly by the way.
For backtesting, I guess simply using the market quotes (ATM DNS, RR and BF for various deltas) will not be sufficient. If you don't want the hassle of building a surface yourself, you can use SPVOl_SURF_MID (or something like that, just check FLDS for correct syntax). There is a neat trick to get call and put vol for strikes directly; set the delta override to 0 and also override strike. That way you can get any strike and expiry vol directly via the BBG pricing engine (also sided pricing if needed).
OVML has a backtester by the way. It doesn't support a lot of products but if your product is supported, it will do it all automatically for you.