#1 - You must separate the groups you analyze by OS version. If you don't, when you select the "deploy all missing hotfixes" option an error is thrown. Re: Design - without being too long winded we have at least 6 server smart groups for patch targeting. Variables are: OS Version; VM Host, VM Guest, or Non-VM; x86 versus x64; and the time slot the owner allows the server to be patched.
#2 - If the package is built via analyze then you won't have that problem. If you build the package manually, BL will not prevent the execution of a 2000 hotifx against a 2003 target. But when it's invoked the OS will know and not apply it.
#3 - We patched 565 servers (about half our environment) last Saturday evening in about 4 hours.
Also be wary that with the packages created by patch analysis, each item within the package is set to "ignore on failure". So the deploys will ALWAYS finish with a success status even if it failed. There is supposed to be an option in 7.4.2 to change this behavior.
This also depends on the version of bladelogic - in 7.4+ the analysis engine is different then in 7.2-7.3 so #1 will be different if you are using 7.4
#2 should be the same regardless of the version of bladelogic.