That is a limitation of VB6 that VBP does not try to work around. You might be able to use something like StampVer [1], which can modify the version info resource in a compiled executable, to hack around this. But then you'd also have to hack around it in your VB code to retrieve that extra version field. It seems better to use a 3-field format for VB applications, or, depending on how large of numbers you use, you might be able to combine, say sr*1000+build into the revision field and extract it out when showing to the user in the VB app.
[1]
http://www.elphin.com/products/stampver.html (although the web site is not currently responsive)