Just took a look at your html (that question mark is most likely from php, and i think youve allready solved it, i couldnt find it)
body#bhome li#lhome a {//}
and your mexico page also has an id of bhome, so there is no css rule to change the button's background color
so just add a new body class and a corresponding css rule for the mexico page and your done.
You said youll be redesigining the html/css, might i advise you not to use that technique for yourself.
Your a lot better of using css classes to set a state.
Instead of making the body change id's and having to name all buttons, you can instead add a class name to the active button
#navigation .active {//}
and lastly, not your css i know, but those css selectors are not very efficient
body#bhome li#lhome a
#bhome, should mean the same as body#bhome, just like li#lhome
use id's spasely and only on container elements.
there should be no need to name buttons with an id, it also doesnt add any semantical meaning
a css selector with 2 id's in it is most likely wrong
use tools like yslow (firefox) to find bad css selectors
good luck :)