APIPA is not a Microsoft implementation, it's a standard from the IEEE. The Institute of Electrical Engineers, who design and implement the networking standards used today.
If a network device is set to accept DHCP and it does not receive one, it will revert to a random APIPA address. This means that every device on the network will gain an APIPA device and it makes sure it's IP address is unique by setting it then checking, if it has a conflict it will reassign itself a new one.
Communication over an APIPA assigned network is very slow. It's nothing something that should be used except for extreme emergencies. It will allow an entire network to continue running, it will just loose the ability to route information.
Everytime a device attempts to connect to something over an APIPA network, it will send out a request for the computer with the information it requires. From there, it gains it's own map of the network. Sort of like the hosts file on a computer.
All this information is lost once the network device gains a proper IP address.
There's a lot more information out there than what I could reiterate in a single post. But if you have questions, feel free to ask. It's what I do for a crust