Michael, you've got one thing right, XAMPP is not for production, XAMPP is usually used when base operating system doesnt comes with a web server of its own (Windows Home editions) so developers can use XAMPP to develop web applications.
anyway, now you have to dig in history, 150 concurrent users isnt very resource demanding but there are plenty of factors playing the role to degrade the service overtime. so you have to find out, what was the initial moodle version installed? as it must have been upgraded overtime and every major moodle update comes with added features at the cost of hardware resource.
secondly, was the test questions remained the same throughout? as they must be changed on yearly, semi-annually basis, this adds to the calls to database.
thirdly, what kind of VM is your Windows server hosted on? as VM's (unless a true hypervisor is used) adds a layer of host operating system beneath, this adds to latency, therefore a direct hardware install is always better than a VM.
Leon already have mentioned 32-Bit, and its limitations of using RAM (3.5GB it is), but have you as well tried allocating more RAM resources to your DB? rather than just allocating to VM?
Lastly, using IIS would be best option, as you will be able to run same tests on same hardware, as sometime ago I had this scenario came up where moodle was setup on XAMPP and though was working, but very slow, so I switched it to IIS on weekend night, and first mail I was sent by the teacher in morning was from student saying what a speed difference, and its been 2 years, no complaints of speed or system getting down ever since.
my advice, switch to IIS and things will improve very very likely.