If some customer puts an order using some cart rule with discount, and, after it is received, he/she wants to return us the full order, we use the standard refund button with id #desc-order-standard_refund, then, We select all products, and check the "Generate Credit Slip" and "Refund shippings fee". If we confirm this form, Prestashop returns the full products' price without the discounts.
For example, if a customer make a cart of 50€ and use a voucher of 50%, he/she finally pays 25€. After, when Prestashop generates the refund, the customer receives 50€.
This problem is critical, because for example, if the customer pays with Paypal, the full amount is automatically refunded.
To finish, this problem can be recreated in any Prestashop installation and version.