Frank,
The Status property is more properly associated with archive lifecycle management; that is, it reflects the multiple states in which an archive may be intentionally placed by an administrative workflow. You would expect to see STS_UNAVAILABLE when an archive has been marked for deletion, or marked as full by an Archive Usage Limit. You should see STS_TEMPORARILY_UNAVAILABLE if the archive is closed after a Move Archive, if you query while the archive is still being created, or if the Storage Queue is full.
Further, if all the EV services are stopped, you should not even be reaching the point where you query the Status, because your IArchive::Get method call will fail ("Enterprise Vault is not running").
(If you are querying the Status without first running Get, well then you won't get an exception but you're always going to see STS_AVAILABLE because the EV_STG_API_STATUS enum defaults to its 0 value on every new instance of an IArchive object, until you run Get and pull all the actual archive details from the database.)
The Status property also isn't updated in real time; if you Get on an IArchive while its Status is STS_AVAILABLE, then mark the archive for deletion, then call Status again, it will continue to say STS_AVAILABLE (until you do another Get). It's a snapshot of how the archive looked at the time you called Get. This makes it good for things like defining targets and job queues ("Is this archive a suitable target for insertions?") but not so good for checking before every single IItem::Insert call ("Is this archive ready to receive an item right at this moment?").
Hope that helps!
--Chris