Well, good news: my Cubox is booting again! Thanks again for the support, Igor. Here's what I did:
I looked at the definition of autodetectfdt that I mentioned earlier. I saw it sets two other variables: fdt_prefix and fdt_file. I figured out their values based on the results of printenv cpu and printenv board.
Then I booted the Cubox with a micro-USB cable attached and stopped autoboot. I gave the following commands:
setenv fdt_prefix imx6q
setenv fdt_file ${fdt_prefix}-cubox-i.dtb
setenv autodetectfdt "if test ${cpu} = 6SOLO || test ${cpu} = 6DL; then setenv fdt_prefix imx6dl; else setenv fdt_prefix imx6q; fi; if test ${board} = mx6-cubox-i; then setenv fdt_file ${fdt_prefix}-cubox-i.dtb; else setenv fdt_file ${fdt_prefix}-hummingboard.dtb; fi;"
saveenv
Then the autoboot succeeded and I was able to log in, over the serial line. So I could upgrade U-Boot to 5.44 and reboot again. The system now boots fine!