And I argue almost as hard for Data getting his third gold pip as for Harry getting his hollow one. If Crusher and Deanna could be commanders, Data (ahead of them in the line of succession) should have been.
Also, I periodically advocate for other unfairly passed over officers, like Mayweather (the most experienced and competent human on that ship) and Boimler (who didn't deserve to be demoted). It's kind of a hobby of mine.
Data, as far as I am concerned, was the most shafted out of everyone in terms of lack of promotion. Not just for the reasons you stated, but also because...
1. He had excellent service as a Lt. Cmdr. for 15 years.
2. When he was the XO, he performed flawlessly.
3. When he was in a command position ("Gambit, Part II", "Redemption II"), he performed flawlessly.
4. He saved Earth from being assimilated by the Borg. TWICE!
Totally, completely wrong by any measure.
Agreed about Mayweather, too. But if the writers couldn't be bothered to give him dialogue, they certainly couldn't bother themselves with a promotion.
(One thing I don't recall... were there any actual Lt. j.g. ranks used in ENTERPRISE? If not, and it went straight fron ensign to full Lt., that might account for the lack of promotions for him and Sato.)
Side note: that's another thing DS9 got right that the others didn't... promotions within a reasonable time.