If I had the source code I might be able to pinpoint the problem… I know a little Visual Basic 2008/2010, and I think it might just be poor programming that's easily fixable, like a typo in the code that the VB dictionary didn't pick up because the typo meant something else… You know. :P
I think that Sappy is, to put it simply, a really sappy program all around. Sappy doesn't work on Vista (which was released in 2006) saying that you need some VB libraries. If you install those libraries, you get another crash, even if you're running XP. So my conclusion of all of this is that improper programming etc. caused the conflict between certain VB libraries (pre-included in some version of the .NET framework) and Sappy that the program can't handle. I also don't think that Sappy is designed to handle plug-in DLLs, so there's no solution there either.
My answer to all of this is to do a complete re-write of the entire program from scratch, and distribute it as Sappy x.x.x Mark 2 or some such, or at least do a beta for the new release. Other than that, I honestly don't know what to tell people who experience crashes; My Sappy 2005 and 2006 both crash on their own (they'll recognise an unsupported ROM like Red Rescue Team, but still crash when loading Ruby for instance).