Today I encountered an issue where a DP assignment was locked in the SCCM console at the package creation level and missing altogether at the child primary site. From this I assume it was previously distributed at the child site however when it was later undistributed the status message did not make it to the central site to update its record of the DP assignment change. The following SQL query will delete the orphaned\locked record on the current site. Be sure to ONLY run this query on orphaned DP assignment records, any deletions you perform with this method will NOT replicate to child sites or actually trigger a package removal from a DP.
--Displays current table records for DP assignment for a specific package on a specific DP.
Select * FROM PkgServers WHERE PkgID = 'ABC00123' AND NALPath Like '%DP_SERVER01%'
--Deletes the DP assignment on the current site only, this will not replicate to child site. Make sure this is only --done for orphaned records.
--DELETE FROM PkgServers WHERE PkgID = 'ABC00123' AND NALPath Like '%DP_SERVER01%'
Note: Modifying the SCCM site database is totally unsupported by Microsoft and you are taking your life in your own hands by doing so. This information is for reference only and should not be used without direct consultation with Microsoft Premier Support Services.