** My weapons won't unlock when I play co-op **
Well, we've already determined that you're running offline and not worried about connecting to ranked servers. So your only present option would be to use the unlocks edit. It's been detailed ad-infinitium on the internet, but edit the file %BF2 Dir%\python\bf2\stats\unlocks.py and change the line defaultUnlocks = [0, 0, 0, 0, 0, 0, 0] to
defaultUnlocks = [1, 1, 1, 1, 1, 1, 1]. I do feel kind of bad using this hack, but until the single player allows you to get some medals and bonuses, this is all you have.