I am running CentOS 6.2 with Firefox 10.0.6. I copied my profile from Ubuntu 10.04. Actually the same profile goes back to Netscape Navigator on Win NT 3.51. I noticed immediately after moving to CentOS that spell check was not working. I right clicked on some text I was entering in a web page and chose Languages English/United States and turned on spell check. And it worked for a while. The last couple of days I noticed that FF did not recognize the spelling of "center". I checked the language and it was set to English/Hong Kong where center is of course spelled centre. I have noticed before during the 2+ months I have been running CentOS that the FF spell check and/or language has become confused.
Did you try a new profile to see if that works if you really use a full copy of an old profile that may have a lot of no longer used files or files with outdated content including obsolete settings in prefs.js.
The issue is not that the language preference is not saved. It is saved and will use English - US to spell check. The problem is that the preference has on more than one occasion changed without my input.
I have cleaned up my profile several times over the years. Starting fresh then adding back bookmarks, saved passwords, manually changing about:config and reinstalling add-ons. I wish there was a way to parse out and save those about:config settings which I manually changed. In spite of my efforts to manuually document them I never remember all of the settings needed to remove annoying FF "features".
p.s. I noticed that spell check was not working as I typed this. The spell check box was checked but NO language was selected. As part of my backup process I make a copy of my FF profile each evening - witih FF shut down of course. I just copied that profile to another machine and launched it with the same version of FF on CentOS. The language preference is correctly set there so it WAS set last evening on this machine.
I did a little more testing. I shutdown FF. I then copied my profile with no language set (as a result of this malfunction) to another location. I restarted FF and set the language to English/United States and shut down FF. Using a GREAT little utility called Beyond Compare I performed a comparison of my profile before and after the change. I have identified the file content-prefs.sqlite as the file containing the language preference. I have no idea why that file is being changed against my wishes.
I have a problem similar to that described above. In my case, I have the spell check language normally set to en-US. Periodically, however, it sets itself to en-GB (or possibly some other value different from en-US). As I normally use American spelling I get a lot of unwanted spell check underlinings. I have examined this behavior using about:config. I also correct it using this page. The spell checker then behaves correctly until the next unwanted reversion. The reversion to en-GB may be associated with updates. I am using Ubuntu 12.4 and automatically updated Firefox.