When the SpecifyReturnDate syspref is enabled, the library should be able to set a return data in returns.pl and check 'Remember for next check in:' All subsequent returns should be checked in using that return date. If an item is checked in which has a hold with a pick-up location other than the check-in branch, a The 'Hold found' dialog appears. Clicking 'Confirm hold and transfer' dismisses this dialog, but also clears the 'Specify return date' field.
To replicate the problem 1) Set system preference 'SpecifyReturnDate' to 'Allow' 2) Check out item to Borrower A at Branch X 3) Place hold for this item for borrower B with pick-up location set to Branch Y (I don't believe that it makes a difference whether the items is biblio-level or item-level).) 4) Go to check-in screen 5) Set the 'Specify return date (MM/DD/YYYY)' to yesterday's date 6) Click 'Remember for next check in' check-box 7) Check the item in. 8) The 'Hold found' dialog appears. Click 'Confirm hold and transfer' At this point, note that the return date has been cleared.
This doesn't appear to be valid in master anymore.