I don't know how you grade CB's, but in no way did any Vikings CB have a good year. Rhodes didn't have a rough year, he sucks. This is his new normal. He's been in the league 7 years, and has 2 good ones. He's constantly beaten both deep and over the middle, while also being a penalty machine. At this point a random day 3 rookie is probably as good as Rhodes, and obviously far cheaper. Waynes has never been good, Alexander has some ability, but is an impending FA, and is a slot only player.
I think it'd be a foolish move by the front office, if they looked at this game, and said, what can we do to do better against the 49ers, instead of what can we do to be a better team. Also, improved CB play would have allowed them to play the run heavier, and perhaps they wouldn't have given up crucial 1st downs on 3rd down.
I don't disagree that the OL could use help, or the DL, but at least they have some talent at those spots. CB may as well be a black hole. They are a bottom 5 in the NFL group. The good news for the Vikings, is that beyond those things, there isn't much they need.
Ultimately, the Vikings season ended exactly where it should have, based on the talent they currently have. Which I believe gives me a pretty neutral opinion of the coaching staff, as they neither succeeded or failed.