What actually happens when I run "cli; hlt" on my Linux system?

Halting the CPU does not completely halt the processor. It's usually executed by the operating system when there is no more work to be done. The CPU then enters an IDLE state from which it can wake-up anytime for example by an interrupt, but also by ACPI - so you might want to try to stop that as well: In your BIOS or as a boot argument:

acpi=off

The reason for USB devices to not work anymore was due to the disabled interrupts although according to this discussion USB is not interrupt driven by design.

For reference: https://en.wikipedia.org/wiki/X86_instruction_listings