Firebug shows some requests in Gray(screenshot attached and marked in Red) with status code 200 and some requests shows black with status code 200. What is the difference between two requests?

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
The gray requests are the ones loaded from the cache, as described in a feature-promo here:
http://getfirebug.com/network
Edit
As for your concern regarding 200-codes and 304 codes, they also display this image on their website next to the above quote.
In other words, it would seem as if 200 still means that it is loaded from the cache. I do agree that it’s a bit strange. I’m trying to uncover more details.
Edit 2
I would assume that the server sends out 200-codes, but the browser chooses to ignore them and run the cached content anyway (perhaps by assuming it didn’t change, or perhaps because the new page loaded is in the same directory as the old one?).