In the USMC, it is considered ill-form to call anyone just "sir" or "ma'am". It is:
Yes Staff Sergeant.
No Lt. Col.
It is the full title. Only Sergeants are called Sergeants. Staff Sergeants and all other Sergeants are called by their full rank. Even Corporals are called Lance Corporal or Corporal. The reason is they have earned that rank.
In a courtroom you do not refer to the Judge as 'sir', but as 'your honor'.
You do not call an appointed Cabinet Secrety such as the Secretary of the Treasury sir but Mr or Madam Secretary.
Same thing with Congressmen and Senators. They are Mr/Madam Congressman or Senator.
If testifying in front of a legislative panel the proper ettiqutte is to call them Senator.
Yes 'Sir' and 'Ma'am' are titles of respect. But they are generic titles that can be applied to anyone. That is why they are inappropriate in a formal setting.
Even if you are a general. And yes I agree Boxer came of as a bitch, especially since she is known to be anti-military.
But that does not change the fact..
The
One-star General
was
wrong.