The ISAPI verision of PHP is a "run once" module for IIS. The CGI version is completely external to IIS and is run each time a PHP file must be parsed.
Obviously, the ISAPI version is faster, particularly under load. However, as the ISAPI version interacts with the internals of IIS there is a potential for problems. Knowing Micro$oft software, I would attribute most of the problems with the PHP/ISAPI module to bad behaviour within IIS code. I use the ISAPI module regularly, and I do rarely have IIS crashes when accessing PHP pages. Because the source is not available, the PHP coders can only conform to the published ISAPI specifications (which I'm sure they have to the best of their ability).
(Using IIS 4.0)
To tell if you are running CGI or ISAPI, open the Internet Service Manger, hilite your root web site, right click and ask for properties. Under the Home Directory tab click on configuration button. Here you will see a mapping for files with the .php extension. If the file is php4isapi.dll you are using the ISAPI version. If it is php.exe you are using the CGI version.