In 2010 the SPWebEventReceiver class has a WebProvisioned method which you could override. There is no such thing in 2007 (doh!!).
One way to get around this is to use the method described here: http://sharepointmagazine.net/technical/development/introduction-to-sharepoint-feature-stapling-part-2, which essentially involves creating another thread and monitor the SPWeb.Provisioned attribute.
However, it is worthwhile to note that this may not work if the site was created through stsadm, as “the tool may exit before the extra thread gets executed” (http://social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/77f239f9-64a9-4393-9ec7-c0b08b55c7f4).