What's either a good rule of thumb or a method to estimate load on a Windows server for a php application?
How do I estimate bandwidth required for 1000 users on the site, or 10,000?
This entirely depends on what your PHP app does. How much memory does the process take, what kind of I/O, etc...you'd need to take some performance measurements and see what it does under real-world stress, and from there you can try guessing what it'll handle. Your app may do very little, and it could easily handle a thousand users. It could be an I/O hog and will stress at 100 users. It could have an inefficient loop that will hog or leak memory over time.
The only way to really know is to start testing it while watching key counters in perfmon. I don't think there is really a "rule of thumb" for applications in general because of the wide number of variables.
You can sign up for a service that will help automate testing of websites to show "real world load" or create scripts from external sites to hit your web app to see how it performs. That is another option.
There is for linux an usefull tool called ab (apache benchmark), who stress in live condition the server. If you can test your script in a linux env. (amazon ec2, ...) it will give you a good idea.