OK. Thanks for reporting back. Out of ideas.
Of course there's always brute force. Create a new dataset, move all data in that corrupt dataset to the new one. Rename all child datasets (if present) to have the new dataset as parent. Double check. Triple check. Destroy dataset.