When entering revenue via batch entry with payment method= stock and application= pledge the revenue applies to the pledge as expected. When you go and sell the stock via the revenue record no matter what you put the sale price as it will show as a gain, even if the sale of the stock would have been a loss. This is not the same behavior if the stock is added via a revenue payment add (not via batch)
Download and install the latest service pack, which contains all fixes from previous service packs. If you are running an older version, download and install the latest version and then the service pack.
Steps to Duplicate
1. Enter pledge on constituent record 2. Add revenue towards pledge via a revenue batch with payment method=stock and application=pledge 3. Sell stock, notice that stock sale is a gain even if that value is lower than what was entered in via batch