Major.minor.patch.build
with patch being the hotfix or patch release.
If you can get QA to by in and are on SVN, you could use the svn HEAD revision as the build number. In that way, each build describes where it came from in terms of source control and what's in the build. This does mean that you'll have builds that go up with gaps (1.0.0.1, 1.0.0.34....)