Ok, I want to have one high spec server (two quad core processors, lots of ram, raid 5, Server 2008 R2 etc), my colleague wants to spend the same money on four average pre-owned servers (Dual core Xeon, raid 2,4GB Ram, Server 2003 etc).
We are hosting quite a busy MySql database, a domain, the company website and are planning to also host a Microsoft SQL server to develop new software in the future.
Who's right?
I'd almost always pick multiple servers to provide flexibility and redundancy in case of a hardware problem.
Up until the "pre owned" tag I was with your colleague. I would not rely on a refurbished or second hand server to host any thing critical.
But generally I would prefer "more lower specced" servers over one mega powerful server, eggs and basket and all that.
As you also suggest that you'll be doing development work, that development work needs to be elsewhere rather than on a production system - how many times do you hear "Oh, I didn't expect that to happen".
From a developers perspective having more servers is a good thing as you can split the database server, web server and domain server onto separate boxes. It also means that if you need to flatten or upgrade your development server you can do so without affecting the production servers.
I know you can achieve the same with virtual servers, but with physical boxes you have redundancy (in case of hardware failure) and flexibility (each physical box can run a couple of virtual servers) as well.
If space is not a problem i would go with the pre owned ones.
Specific configurations aside, you need at least three servers. You need two for redundancy and load distribution for production. You should not be running your company's website on a single server. You need the third server for development. You should never be doing active development on the production server(s). There are way too many risks and little possible benefit.
Both hardware specs have issues with your stated workload:
That said, my advice would be to invest in - for now - one huge, capable system and run VMware ESXi on it (this is free)
My personal suggestion on hardware would be something like:
Combined with VMware ESXi, this setup would allow you to run 10 Windows server VMs easily, with less than 50% CPU load; the system as I specced it is still heavy on CPU, so you could increase performance by merely adding more disks and/or memory to the setup.
The IBM X3650 (which is a 2U box) has 16 (!) 2.5" SAS600 slots available and supports 144GB of registered DDR3 - it is an ideal ESXi system.