Hi Rob,
Since the web application works in the Visual Studio build-in Devlopment Server, it should be the Windows accont issue as you said.
In my opinion, you can try to create a Windows login user on that server, and then create printer mappings for that user. At last, change the ASP.NET process identity to that Windows user. After finishing these steps, the process identity environment is similar to work with the Visual Studio build-in Devlopment Server (as you may know, running in Visual Studio build-in Devlopment Server the process identity is current Window login account).
For your reference, if you do not want to put the new added Windows user in Loacl Admin group for security reason, you can refer to the default permissions for the ASPNET account in the following link, and assign same permissions to the new created Windows user as well. This article also introduces how to change the ASP.NET process identity by modifying the machine.config.
Process and request identity in ASP.NET
http://support.microsoft.com/kb/317012
P.S. Since you mentioned application pool, I think your operating system is Windows Server 2003. For IIS 6.0, we can change the application pool identity instead of changing the process identity in machine.config.