Ich nutze seit jeher Major.Minor.Bugfix (wie bei Wikipedia, nur ohne Build) und bin damit immer gut gefahren. Die Angabe einer Buildnummer habe ich nie gebraucht. Wenn jede Version nur zu einem Build gehört, wie es sein sollte, dann wäre das einfach eine redundante Angabe.
Es gibt aber schon einen Anwendungsfall für die Buildnummer: während der Beta-Phase bleiben die ersten drei Versionsteile gleich, aber die Buildnummer wird mit jedem Beta-Release erhöht. So lassen sich die verschiedenen Bugtracker-Cases der Betatester besser zuordnen.
Früher hatten wir für die Buildnummer immer die Revisionsnummer des
SVN genommen, aber seit Mercurial im Einsatz ist gibt es sowas ja nicht mehr. Jetzt wird die Buildnummer vom CI-System vergeben und als Tag ans VCS angehängt. Wichtig ist halt, daß man zu jedem Build die passenden Sourcen wiederfinden kann.
Ich habe auch einen Fall, wo ein Produkt unter zwei Namen vertrieben wird, die auch eine unterschiedliche Versionszählung haben. Die Buildnummer ist aber bei beiden gleich.