It seems you are not aware that the two largest merchant services in the bitcoin world, Bitpay and Coinbase, both protect their merchants from exchange rate volatility and accept any exchanges on the fly, in both directions. There is no holding time unless you want one! It's been this way for over a year...The biggest hitch I see with paying in Bitcoin would be the same as I'd see in paying with anything else that's not a USD: exchange rate volatility. If there is a significant change in the exchange rate from when USD is converted to BTC and then subsequently changed back into USD (for traffic purchases, etc.), margins could be eliminated.
It's hard for businesses to get out of the frame of mind that the limitations of the old dinosaur payment networks installed in them. No longer do you need to do things like withdraw a huge amount of money one time then disperse it yourself just to avoid CC fees... With a whole new payment network you get whole new options.
Of course no one can guarantee the volatility wouldn't smoke some crack if you were to withdraw it all at once and hold it long enough to send to your affiliates, but if all you're going to do with them is pay out affiliates with coin from a USD-denominated account, why not change each individual affiliate payment from USD to BTC as you send it to them? They've got APIs for this kind of stuff to make it easier for you.