Okay... I get your situation.
Your SQL Server and IIS are in two different machines.
You are trying to use the impersonated account to access SQL Server database on the another machine. To do so, you must be using Kerberos authentication, not NTLM as you need to use delegation.
Integrated Security is SPNEGO (Simple Protected Negotiation) and it does not always use Kerberos. It tries to use Kerberos first and if it fails, it will automatically downgrade to NTLM.
One very important thing you must take note is that NTLM cannot do delegation, which allow the impersonated credentials to call the service or access resources of another machine.
To successfully use the Kerberos authentication, your machines involved in communication must be both Win 2K minimum and domain must be in Native mode.
Check out this URL for how to upgrade to Native Win 2K domain.
http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/deploy/upgrdmigrate/upgrnt.mspx
The next thing you need to ensure is that domain controller is aware of what service account your SQL Server is running as so that your web application know how to encrypt the ticket to pass to the SQL Server service. In another word, you have to set SPN (Service Principal Name) with the domain to register your service account so that Kerberos can be successfully used.
You can use the SetSPN.exe (tools available from Windows 2K resource kit) to achieve this.
Check out this URL for how to use the SetSPN.exe.
http://technet2.microsoft.com/WindowsServer/en/Library/b3a029a1-7ff0-4f6f-87d2-f2e70294a5761033.mspx
Download SetSPN.exe from here.
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setspn-o.asp
Hope it helps.