And {Global,Heap,Local}{,re}{Alloc,Free,Lock,Unlock}. 4 sets of APIs just to allocate memory. Although Local* and Global* are mapped to Heap for a while now and (IIRC) (un)lock functions don't do anything (but they used to). This BC is still required today.
VirtualAlloc: http://msdn.microsoft.com/en-us/library/windows/desktop/aa36...
VirtualAllocEx: http://msdn.microsoft.com/en-us/library/windows/desktop/aa36...
VirtualAllocExNuma: http://msdn.microsoft.com/en-us/library/windows/desktop/aa36...
It all started out nice and clean I'm sure, but within a few years you start to see many more than one basic interface to some things.