Question: My Windows 2003 server standard DHCP server takes 30-45 seconds to give out an IP to XP clients. I've never seen one this slow before. The server is not overwhelmed.

We are on 100 Mbps switches. 

Any ideas or suggestions?

Answer: 
Does it take that long just to release/renew on the client or is it only at initial bootup? If it is only taking that long when the client first powers up/connects to the network it might be due to spanning tree protocol operation on the switch. By default STP spends about 15 seconds in each Learning and Listening states before forwarding frames. So the 30 seconds you are seeing may be the client is transmitting discover packets but not seeing an offer until STP has entered the forwarding state and forwards along the next DHCP discover.
Packet never lie

You can capture all the data under XP client and analyse them.
From which you may find answer.

You can find how much times Broadcast\Discover\Request packets the XP client sending and how long time DHCP server response them.

In a word,in packets world you can find more info than application operation and your sense.