You would want to create a custom implementation of the ShoppingCartInfoProvider and overwrite the method "SetOrderInternal." Now note that this runs whenever an order is Created, or updated. The below may work, you would have to test it.
/// Summary description for CustomShoppingCartInfoProvider
public class CustomShoppingCartInfoProvider : ShoppingCartInfoProvider
protected override void SetOrderInternal(ShoppingCartInfo cartObj, bool generateInvoice)
// This actually creats/modifies the order
// Grab any newly created orders that are set to paid and unset it.
if((cartObj.Order.OrderLastModified - cartObj.Order.OrderDate).Seconds < 5 && cartObj.Order.OrderIsPaid)
cartObj.Order.OrderIsPaid = false;