Could be a temperature issue. I run two XFX 7870s (DD fans, but stock clocks) in crossfire.
The 12.7 and 12.11 betas are the only respectable drivers performance wise, but they have an issue of overheating in certain games, BF3 occasionally and Guild Wars 2 in particular (I could set my watch on the 29 minutes to BSOD just standing by the mystic forge in Lion's Arch).
I'm fairly certain the 95c+ temps observed before BSOD was the culprit. The issue was the automatic fan speed control could never "catch up" to the heat generated. By the time the fans went above 40%, temps were past critical.
My solution was to enable manual fan control on both cards and set it to 50% (tried 45%, not enough).
Temps are in line (rarely go above 80c) and the BSODs have gone away.
To test your heat in BF3, try the following: run in windowed mode, as large a window as you can so you can observe the temps in CCC and change the fan % accordingly. Find an unoccupied/low occupancy server running Caspian Border conquest. Start on U.S. side and take the Apache. Land at the gas station checkpoint (the one with the big flames). Staying in the helicopter, press c to enable the external camera. Between the particle effects of the environment flames, and the rotor draft, this will start stressing the card to 80-100% utilization and your temps will start going up dramatically. Enable manual fan control and set to 50%. Watch temps come down. Gradually decrease the fan speed until the temps do not continue to climb. You should be good after that.