After trying all the fixes outlined on Viarena.com and those found on USBman.com I still had the NTKERN.VXD error with my VIA USB Root hub. Both hubs had a yellow exclamanation point next to them.
I updated the Via 4-in-1 and applied the USB filter patch ver.110.
I applied both of the Microsoft updates.
None of these actions corrected the problem.
There were no IRQ, DMA, or memory conflicts and the USB had been recognized before upgrading the computer from Win95 OSR/2 to Win98SE so I assumed that the problem was a missing/lost Microsoft driver which enumerates the USB on boot.
Looking carefully at an identical machine which was working I found that there were 2 files missing
on the non-working machine.
The files were "wmidrv.sys" and "wmilib.sys". These files are apparantly part of a poorly documented
Microsoft WMI system which looks for attached USB devices.
I extracted the files, installed them in the appropriate folder, rebooted, and Voila! problem gone.
The files and their source and destination folders are outlined below:
NOTE: This applies to Windows 98SE only!
Locate the cabinet files (.cab) on your Windows 98SE CD ROM. They are located in the "Win98" folder.
If you don't have a cabinet file extractor you can download it at the Microsoft site.
Look for "Cabview".
Extract "wmidrv.sys" from the Win98SE cab file "Precopy2.cab".
Extract "wmilib.sys" from the Win98SE cab file "Base5.cab".
Copy both files to "C:\Windows\System32\Drivers".
Reboot the system, there should not be any problem with the USB hub now.
NOTE: there are other files associated with the WMI subsystem, "wmi.dll", "wmicore.dll", and "wmiexe.exe".
In practice I usually remove these files since they load on every boot, hog memory, performance and resources.
The USB on my machines has always worked without these files, your configuration may be different.