POSSIBLE SOLUTION
I got this idea and the initial VBS logic from TechNet - Scripting Guy and just made some small VBS logic adjustments and turned it into a dynamically built batch script that runs in a loop. It runs as-needed and can be killed easily and as-need with no installation required assuming you already have Microsoft Office Word on your PC (I'm sure there's a way to put the Office components on your PC without actually needing to have the licensed software installed though).
Just save the below batch script logic to a text file on the desktop, etc. and name it to <something>.cmd, and then simply double-click it for it to run. Watch the Num Lock light on your keyboard toggle on every X seconds as you tell it to run (I set it to 5 in the example script).
Simply minimize the command prompt window when it's running, and simply close that command prompt window with the "X" when you're ready to stop if from running for your PC to no longer turn Num Lock on if it's accidentally turned off.
Dynamic VBS Batch Script Logic
@ECHO OFF
SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs
SET PauseSeconds=5
:VBSDynamicBuildLoop
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set objWord = CreateObject("Word.Application") >>"%TempVBSFile%"
ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO Wscript.Sleep %PauseSeconds%000 >>"%TempVBSFile%"
ECHO. >>"%TempVBSFile%"
ECHO If objWord.NumLock = 0 Then >>"%TempVBSFile%"
ECHO WshShell.SendKeys "{NUMLOCK}" >>"%TempVBSFile%"
ECHO End If >>"%TempVBSFile%"
ECHO. >>"%TempVBSFile%"
ECHO objWord.Quit >>"%TempVBSFile%"
CSCRIPT //nologo "%TempVBSFile%"
GOTO VBSDynamicBuildLoop