I have the same problem. This is working for me but need a better solution:
On the BDP, check the log ContentTransferManager.log
Find all the CTM job * suspended messages like this one:
CTM job {8D7502F9-552F-4B31-84A0-D6BAB8DBB3B6} suspended Then filter the log for “Queued location request” and match that CTM job to a request ID like this one:
Queued location request '{1321A0A9-96D0-4623-BBF2-C5DBF52E4967}' for CTM job '{8D7502F9-552F-4B31-84A0-D6BAB8DBB3B6}'. Then filter the job for that Request ID to get the package number, like this one:
Created and Sent Location Request '{1321A0A9-96D0-4623-BBF2-C5DBF52E4967}' for package CNT0049B Then find the package and the server that put it onto the BDP and remove the BDP as a Distribution Point for that package. Do this for every package that is suspended. Wait however long is necessary for replication in your hierarch. Then RDP to that system again, open the SCCM Client and initiate the “Branch Distribution Point Maintenance Task”. Wait several minutes for the ContentTransferManager.log to log anything (you will see it first in PolicyEvaluator.log). If no more suspended jobs then your free to add the package to the DP again… and again, wait for replication then initiate the Branch DP Maintenance Task and you should see it download correctly.
This consumes a lot of time but it works.
Also, make sure your IP Boundaries are correct and make sure your parent sites in the hierarchy have the correct package version.