my keychain was all screwed up too and someone recommended trashing it and starting a new one. instead of going in the actual keychain access and fiddling with it in there, i just deleted the entire keychain file in:
users/(youruser)/library/keychains/login.keychain
logged out, logged back in, re entered all of my passwords and saved in the new keychain whenever i was prompted, and problem was solved. i think my keychain initially got weirded out after an upgrade or an archive and install.