Mi par di capire che menu e content vanno affiancati. Allora devono essere float ambedue (e non serve il margine a quello di destra).

Poi per i problemi dei browser anche i contenitori devono essere float.

In conclusione il CSS per quel codice HTML dovrebbe essere (come struttura base):
codice:
html, body {
  width: 100%;       /* altrimenti i margini del container non sanno a cosa riferirsi */
  font-size: 100%;
}
body {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  /*font-size: 12px;*/  /* i browser possono forzare i font, per cui non conviene definirli fissi */
  color: #534242;
  background: #246a27;
  text-align: center;
}
#container {
  width: 772px;
  margin: 0 auto;
  text-align: left;
  float: left;
}
#header {
  height: 100px;
  width: 100%;
  float: left;
  background: url(imgs/header.jpg) no-repeat;
}
#menu {
  float: left;
  width: 150px;
}
#content {
  padding: 7px;   /* potresti avere problemi con IE: sarebbe meglio usare il margin */
  background-color: #b1c9b2;
  float: left;
  right: 0;        /* per far finire il blocco sul margine destro del container */
}