No, this has nothing to do with the FPU. The VB6 runtime is ab/using that floating point exception to implement its own exception handling. The On Error statement, I'm sure you're familiar with it.
Why on Earth they chose to re-use a hardware exception code has always been mysterious to me, that tidbit is lost in 15 odds years of Visual Basic design. It doesn't byte because the FPU is initialized by the VB6 runtime with that exception masked.
Anyhoo, the diagnostic is that your VB6 code is crashing with an unhandled exception. To find out what is going on, be sure to run the code from the VB6 debugger. Also make sure you check your Debug + Exceptions dialog, the Thrown boxes should be off. Press F5 to let the exception be handled the normal way. It ought to go kaboom after that.
From MarkJ's helpful link:
Another exception that you will commonly see is c000008f. If you look the number up then you will find that it is a floating point inexact result exception. It is used in a different meaning here – since we don’t generate real floating point inexact result exceptions, they can safely be thrown to indicate VB errors of the normal trappable type