I have installed Free XenServer on 2x HP DL360's, one with Quad-core CPU and another one with 2 Dual-core CPUs.
When I tried to join the Resources Pool I got an error
The hosts in this pool are not homogeneous. cpus differ
Citrix Resource Pool Requirements
each CPU is from the same vendor (in particular AMD-V and Intel VT CPUs cannot be mixed)
each CPU is the same model (except for stepping)
each CPU has the same feature flagsIn practice, it is often difficult to obtain multiple servers with the exact same CPUs, and so minor variations are permitted.
How much can CPUs differ? Can I mix quad-core and dual-core machines and force them to join the same Resource Pool or is it only CPU clock speed which can vary?
It's mostly just clock speed that can vary. The processors should have the exact same features. A good list of features can be found on this list in wikipedia. There are other similar lists for different CPUs, this is just for Xeons.
To be sure, the processors have to be of the same series with the same amount of cores. Clock speeds can differ, but even caches should not. It's a pretty rare case that you can actually run two different servers in a resource pool. Even if xen allows you to, I'd recommend to run a resource pool with identical hardware to avoid any potential issues.