OK all here is what u will need to do. Contact EA online chat and they will ask you what keys don't work and what your BF2142 user name is then (very important) they will ask you what email your vet account is set up under. After a few minutes wait I got bf2 bf-viet bf2142 bf-1942 and I already had bf-2 they told me reason that BC2 doesn't show up cause its the current game played utilizing the BF veteran program when you click that link the first thing you need to input is your email I think it should be the same as the vet program I think, but ask them at EA chat they were very helpful!
EA Live Support Chat