The application server detects the IP address of a new Server by performing a lookup of the hostname. Perhaps the hostname is still returning the old IP? When this next occurs from a shell on the application server can you perform an nslookup of the hostname and confirm when it returns after the Provision Job completes.
It turns out the PXE server was caching the IP address associated with the MAC address. A restart of the PXE service cleared it up.
that doesn't make a lot of sense - the appserver is what communicates to the agent by looking up the name you provided in the provisioning job options - the pxe service does not factor into the equation here.
Not sure what to say - but restarting the PXE service cleared the issue right up. Something was cached on the PXE end.