Software protection keys (also called Dongles) most often reject to work with USB2LPT (or even dongle emulators, e.g. this one).

In/Out Target Missed

Current dongle drivers (.SYS or .VxD) contain the following code sequence:
	mov	eax,cr4
	btr	eax,3		;switch off PENTIUM Debug Extension (DE)
	mov	cr4,eax
	in	al,dx		;or out dx,al
As you can see here, they switch back the processor back to 486 mode directly before executing any IN or OUT instruction to the parallel port. A 486 processor doesn't support I/O breakpoints. Bingo!

This switch-back code cannot be protected by another hardware breakpoint. A lucky hacker may try to scan the kernel memory for such code sequences by a timer procedure.

The one-and-only possible solution to cope with such code is using a Virtual Machine (VM). Typical VM software copes with this Debug Extension bit as it doesn't permit the guest system to put the host system back to 486 mode. In this way, the protected software can see the dongle while USB2LPT.SYS driver is running in either the guest or host system (try yourself!).