The one thing I always wondered was why MFC has the prefix AFX (I know the answer, but why?)
If you know the answer then that pretty much explains why, doesn't it? Wikipedia makes it pretty clear:
One interesting quirk of MFC is the use of "Afx" as the prefix for many functions, macros and the standard precompiled header name "stdafx.h". During early development what became MFC was called "Application Framework Extensions" and abbreviated "Afx". The name Microsoft Foundation Classes (MFC) was adopted too late in the release cycle to change these references.
Short for "Application Framework Xtensions"