I have the same board GIGABYTE-EP45 DS3. Using your method I got Airport working - but I lost my Firewire800.
It seems, it was not your method, but the switching of the PCI slots.
On this board the very last slot (most far away from the CPU) seems to work fine and cures not working cards, while tne next slot seems not to work at all - tested now with two different Firewire 800 cards and this Belkin Airport card with a Broadcom 4318 chip.
That is right for Leo as well as SnowLeo. On a third HD I have Windows 7 installed and here this slot is operational under all circumstances.Wireless worked from the start.
Perhaps my DSDT patching is not perfect. If someone knows a way to get this dead slot working under MacOSX please tell me.
I just wanted to make clear that while the duplicating of the Broedcom kext is of help the decisive measure in my case was switching slots