The behavior that you're seeing is expected. Also, your observation about SQL Server Delphix implementation is correct. This is where SQL Server and Virtualization Platform (SDK) implementations differ. SQL Server does unmount the storage during stop operation while Virtualization Platform does not. I will describe the rationale behind the Virtualization Platform's implementation below.
The idea with virtual.start() and virtual.stop() is to mimic a DBA's workflows for starting and stopping a database. A DBA should be able to stop a database that was started by Delphix and they should be able to start a database that was stopped by Delphix.
To mimic the workflows, we want virtual.start() to be able to start the database service. In this case, there are two scenarios. One is that Delphix storage is still mounted on the host and all we have to do is start the database service. The other scenario is when the host was restarted and the mount wasn't persisted. In this case we want virtual.start() operation to re-mount the storage and start the database service.
On the flip side, since Delphix doesn't unmount the storage during virtual.stop() operation, the DBA is able to simply start the database service. If we did unmount the storage, the DBA wouldn't be able to start the database service anymore.
To answer your second question, the status of a VDB is reflected by the result of virtual.status() script. As described under https://developer.delphix.com/References/Plugin_Operations/#virtual-source-status, if the status script is not implemented, the platform assumes that the status is Status.ACTIVE.
As for the implementation of virtual.status() operation, normally you would want to either check whether the database process is running or attempt to log into the database. These are just examples and the method might be different depending on the database. That said, checking if the storage is mounted here will not work because the stop operation won't unmount the storage since the database process might not be running for other reasons (it could have crashed), while the mount could still be present.