I would recommend one line of versioning per repository for most cases. Here is a sample trunk set up with a VS.Net solution.
root
– trunk
– bin
– nant
– log4net
– src
– project 1
– project 2
– mysolution.sln
– CommonAssemblyInfo.cs (for version number, etc)
– automatedbuild.build
– clickToBuild.bat
– tags
– 1.0.0.1
– 1.0.0.2
– 1.0.0.3
– 1.0.3.1
– 1.0.3.2
– 1.0.0.4
– 1.0.0.5
– branches
– 1.0.0.3-hotfix