Yes, that's what the WinSxS folder is about - "side by side", multiple versions of the same DLL. When a program starts, the necessary version of the DLL is (somehow) found in that folder and loaded.
So, you can have msvcr90*.dll from VS 2008 SP0 and VS 2008 SP1 installed simultaneously, even though they have the same name, and each program loads the one it needs (though yes, it's kinda crazy that VS 2008 SP0 and SP1 are not complatible, each needs a different redistributable).
As for afwCore*.dll, they're delay-loaded - only when the program needs them.
As the name suggests, they're part of the firewall - so unless you have avast! AIS installed, they will never be loaded (= don't have to be present).