Okay, I got this fixed.
I\'m leaving these notes in hop that this will help someone else with a similar problem.
Previously, I\'d attempted to drop the cross-linked directory with
fsck -l /Documents /dev/mmcda1
This didn\'t work.
Using the DOS short name (DOCUME~1) did work.
I found the short name with
fsck.vfat -l /dev/mmcda1
Using that, fsck asked me if I wanted to delete the LFN (long file name, presumably); but answering \"yes\" to this failed to produce changes until I used the -w \"write immediately\" flag -- which also required the -a or -r flags. -a \"fix automatically\" didn\'t work, but -r \"interactively repair\" did.
By the time I\'d gotten to this point, I\'d managed to delete the long file name, but not the short file name for /Documents, and to turn that directory into a \"recovered\" file, so the transcript of the final fsck is:
# fsck.msdos -r -w -v -d /fsck0001.rec /dev/mmcda1
dosfsck 2.8 (28 Feb 2001)
dosfsck 2.8, 28 Feb 2001, FAT32, LFN
Boot sector contents:
System ID \"MSDOS5.0\"
Media byte 0xf8 (hard disk)
512 bytes per logical sector
16384 bytes per cluster
1 reserved sector
First FAT starts at byte 512 (sector 1)
2 FATs, 16 bit entries
61952 bytes per FAT (= 121 sectors)
Root directory starts at byte 124416 (sector 243)
512 root directory entries
Data area starts at byte 140800 (sector 275)
30948 data clusters (507052032 bytes)
63 sectors/track, 16 heads
237 hidden sectors
990627 sectors total
Dropping FSCK0001.REC
Wrong checksum for long file name \"Documents\".
(Short name FSCK0000.REC may have changed without updating the long name)
1: Delete LFN
2: Leave it as it is.
3: Fix checksum (attaches to short name FSCK0000.REC)
? 1
Checking for unused clusters.
Reclaimed 1 unused cluster (16384 bytes).
Perform changes ? (y/n) y
/dev/mmcda1: 2 files, 2/30948 clusters