Firefox is following the mime types exactly the correct way.
Compare to the disaster of IE which sometimes looks at the file extension to decide how to display the document - that caused me huge problems way back.
Yes, a view as text option would be nice, but firefox is doing exactly the right thing by listening to the mime type.
If I get text/csv I don't want it showing in the browser, I want it to launch it externally. If firefox gets text/x-csrc it checks the /etc/mailcap, and does what it's told. It has no way to guess that you prefer to view it in the browser - the server said: it's a C file, and firefox listens.
How would you program it? How is it supposed to know that text/x-csrc should show in the browser, while text/csv is an external program? Both are listed in mailcap.
However, like I said, an option "View as Text" in the download box would be nice.