Obviously, I'm very late on this post, but I'm posting for anyone still facing this issue.
I use RoboHelp 10 and faced this issue for weeks. I've been on different forums and have seen people give multiple suggestions so I assume the solution varies, but I'm posting my one personal solution. When I would attempt to generate the chm for my project I would get the "Fatal Error: Unexpected error from Microsoft HTML compiler." message and the chm file couldn't be opened. I was working with Tech Support for weeks but they seemed stumped as well. I ended up finally resolving the issue on my own. My suggestions.
1. The Output View will list the htm(s) from your project as it is generating the chm. Look at the last htm that appears before the error message. This is most likely the file that caused the error.
2. Go into the RoboHelp project files and locate the folder that corresponds with the htm file that appeared before the error. During this I noticed that a lot of the image files that were present were really long, and I know RoboHelp doesn't like really long file paths. I try to keep my file names short, but I hadn't really considered the pictures much. I also opened the html file in that folder and saw that the images with the long names weren't pulling in. They had x marks, so I assumed that was my issue. If you don't have images, it might be long file paths in general.
3. Shorten the image names. You have to shorten the original images, not the ones in the RoboHelp Project files. My project is linked to a Framemaker book, so I shortened the names of the images the book pulls from. Then I redirected the images back into the Framemaker book/file. Updated the book then updated the RoboHelp project to reflect the changes (just for good measure I did a secondary update on the specific file that I had updated the images from).
4.Cross your fingers and generate the chm. Hopefully it works for you like it did me. Though keep an eye on the Output View messages. If it lands on the same htm, nothing happened. But if it goes past it and stops on another htm file, repeat the steps. It may mean progress. In my case, the error always stopped on the same file, so that may have been the only one causing an error.
I hope this helps anyone else struggling with this issue. Like I said, the solutions for this seem to vary. I've seen ppl more their output folder to their C: drive and that worked for them. I would try multiple things. Seems the best answers come from trial in error. Make sure you keep a backup of your project files, when doing this though!