Err are you serious?
Yes.
Short HOWTO for hacking limits from debugger:
Unit limits is divided into two parts: base 80 units and extra 40 units for campaing. Machines.exe uses strings like UNITS_LIMIT_PER_RACE and CAMPAING_EXTRA_UNITS so it's likely what limit can be changed in less invasive metod than in-process memory writing.
Start debugger as administrator privilages if your compatibility settings need to. Load machines.exe into debugger (set path for start directory otherwise machines.exe will hang). On first break change memory at 0x4699f0 (address in body of function which calculates whole limit of units) from:
... be 01 00 00 00 ... to ... 90 90 90 90 90 ...
in windbg:
> eb 4699f0 90 90 90 90 90
now CD checking can be disabled (this step can be omitted):
> eb 433b14 c3
and start:
> g
This trick machines think limit is unreachable. That could work as long as we dont exceed 4 byte unsigned int range. Included app deal with machines.exe better way. In short it makes jump from function next changes register edi with unit limit and return. Setting real units limit makes game noncrashable.