I got it working with practically the same code as a MBM example I found.
Either the type declaration has changed or the data types in VB6 were the wrong size. I had to throw in those place holders to make it work. Who knows if it's going to work on a machine with a different number of sensors. If some people running Speedfan could try this out (with the compiled .exe in the zip), we would know if this code is good.
Code:Public Type SF Version As Integer Flags As Integer MemSize As Integer Handle As Long NumTemps As Integer NumFans As Integer NumVolts As Integer Temps(30) As Integer placeholder(32) As Integer Fans(30) As Integer placeholder2(32) As Integer Volts(30) As Integer End Type