Hi Richard
It's a bug, of course. Thanks for your detailed report. I have fixed it in the pre-release version available here
secr_4.3.4.zip (Windows binary) or here
secr_4.3.4.tar.gz (source).
As a workaround, you can also read data as if from a "proximity" detector and then convert to "multi":
traps<- make.grid(detector = "proximity")
chp <- make.capthist(captures, traps)
chm <- reduce(chp, outputdetector = "multi", dropunused = FALSE)
The result is not identical but the differences are subtle and I think ignorable.
Murray