It would be useful to be able to set-up Line Items in which the Unit Price CANNOT be changed by an end user. The only way it should be possible to lower the Unit Price is by entering a % or $ discount. This properly records any and all dicounts and eliminates the ability to circumvent discounting by simply updating the Unit Price.
Also, it would be useful to be able to set-up approval workflows based on the % dicount entered on the line item. Basically dicounts below a threshold are pre-approved, but anything above the threshold needs to be approved. This is more realistic then a workflow approving above/below an Amount.