The HW errors in bfgminer can be cut when bfgminer recognises it as a block erupter instead of an Icarus. The device should appear as BES (Block Erupter Sapphire), instead of ICA (Icarus). But you need to "brand" your block erupters for bfgminer to recognise them properly.
See:
https://bitcointalk.org/index.php?topic=250326.0