Weird -- the reply I made this morning is missing!
What I wrote is you should always deploy using batch=true. This will ensure your web app will work most efficiently when deployed, and will allow incremental compiling to work while in VS05.
However, you have a rare situation hwere batch=true is causing a circular reference. You need to use Baiju's suggestion of separating your web forms / user controls into different folders in order to break up the circular reference.
This issue is described in "common conversion issues" white paper which can be found at
http://msdn.microsoft.com/asp.net/reference/migration/upgrade/The graphics there make it a bit easier to see what is happening, and the solution is listed there too.