wow, good questions...
The Advertisment schedule should be 2 hours... That is what we use for our 2500 clients, and it seems to cover the basic.
The site assingment problem we are also having issue with. We have a call into MS for some support of it actually. For whatever reason, even with the Schema extended, it doesn't work. To get it on the machines, we use a login script that runs this. capinst.exe /ADVCLI /ADVCLICMD SMSSITECODE=SITE
where SITE is your site code. This works 100% of the time. But does require a fresh install be made. The process we use, since we upgraded most of our clients from 2.0 to 2003 carried the settings over, so we had to make a special program to manage the process. The program checks to see what version is on the machine. if it's the old version, then it's upgraded as that works well, but if it's the new version, first we run Tranguid which captures the SMSID from the install and saves it to a location. Then we run the Capinst.exe and reapply the SMSID when Done. That allows for a properly configured client using an existing smsid. Now you can simply remove the old client too, as that would work, so long as you don't want to retain the packages assigned to it.
Just a question, but how do you have your pickup set? is it on AD or a client heartbeat?
We ran into problems with the SMS update stuff for XP. Think about using WSUS. It's a little bit better and won't take as much work to configure. Switched it off a few days ago. WSUS was the better shoice for us.
as to the machine to collection thing... You have to define a membership rule for the collection that singles out one machine. Use a .exe that exists on it or something. You can also use the name in the criteria settings.
Hope that helps, and let me know if you have more stuff.