Проблема с ключом, если две учетные записи, одна из них не под админом.
Запускаю BF2KeyMan.exe клацаю случайный-применить, оно зеленеет, ключ работает. Если запускать не под админом, то не зеленеет, ключ не работает.
Игра требует админа в любом случае при установке. Ключ хранится в ветке HKLM/Software/... куда имеют доступ на запись только учётки админа. Если ключ записан правильно, игра сможет его вычитать оттуда.
В качестве решения можно временно сделать не-админскую учётку админской, затем программой BF2KeyMan записать ключ, проверить что всё ок в игре, а уже затем понизить учётку до не-админской обратно (удалить пользователя из группы Администраторы).
Кроме того, могут мешаться ключи реестра VirtualStore при работе BF2.exe в режиме совместимости, например, с Windows XP - эти ключи VirtualStore нужно очистить. В режиме совместимости система при попытке любой программы записать что-то в HKLM без прав админа, записывает и читает всё в локальную "песочницу" программы. Это придумано для того, чтобы программа работала якобы "корректно".
Но BF2.exe не умеет сама себе делать ключ, и это причина всех проблем в большинстве случаев - она пытается читать ключ из песочницы, но там ничего нет.