The project layout you have described sounds appropriate for the type of application you describe. The only reccomendation I would make is that you use the .Net convention of the Project name being used for the Namespace. You would, therefore, end up with the slightly changed list of projects:
- Company.ProjectName.DbLayer
- Company.ProjectName.Common
- Company.ProjectName.DbApi
- Company.ProjectName.BusinessLayer
- Company.ProjectName.Ui
This is, of course, very loose guidance, and it does not apply universally, but it is the reccomendation I give to my developers.
Re: @stakx, I do agree, you may not wish to rule out newer versions of .Net. You may see performance improvements on newer versions. With those requirements, you may wish to avoid WPF, as it imposes a slightly higher set of requirements, but the requirements for .net2 are near identical for .net4 for a winforms application. The real consideration is whether the target framework will already be installed.