You remain responsible to the finance company for your obligations under the agreement until they have received payment in settlement. As far as the finance company is concerned, they can't hold a third party liable, so they will continue to chase you until the matter is resolved. Cancelling the direct debit will stop them taking further payments, but will also trigger chase letters until they get the settlement amount.
If the motor company have confirmed to you that they have issued the cheque but it has not yet been cashed, I think it is reasonable to assume that it has got lost. Have they not offered to stop the cheque and reissue payment to the finance company? This would appear to be the most obvious step to resolving the issue, and one which I think you would reasonably expect to have already been offered.
I would write to them and insist that they do this, reissuing payment by same-day bank transfer, or if they insist on payment by cheque, posting it using Special Delivery.
It may very well not be their fault that the payment has failed to reach the finance company, but if you have made them aware of the issue, they have a duty to rectify it prompty.
You may want to check with the finance company, but the usual course of action is to refund any overpayments once the account has been cleared.