Let me start by saying that I�??d like to understand the context for your question. What is the reason that you need to query if the geodatabase upgrade has been successful? Is it because another process is dependent on the successful completion of the upgrade? Is it because you�??ve done this in the past and performing this query is another confirmation the upgrade was successful? Or, is it a different reason.
Whether the Upgrade Geodatabase command and tool are enabled is based several queries, one of which is �??Does the Geodatabase need to be upgraded?�?�. This query examines the internals of the geodatabase (the collection of tables used for persisting information and a collection of database packages, procedures, functions for executing geodatabase behavior) to determine if it needs to be upgraded. If either of these two collections (the tables or the database packages, et al) need to be upgraded, then the Upgrade Geodatabase command and tool are enabled.
This is a change in behavior at 10.0. At previous releases we stated that the sdesetup �??o upgrade command should always be run, whether it needed to or not, after a QFE (Service Pack, Patch or Hot Fix) were applied. We�??ve changed this behavior to make it clear when you have to run the upgrade command and to try and simplify the upgrade process for all Geodatabases.
Determining if the collection of tables makes up the Geodatabase needs to be upgraded is straightforward. However, determining if the collection of database packages, et al need to be upgraded is not as simple, as there are multiple queries that need to be run to check whether an upgrade is necessary based on the software component updates and the values of the version table, stored procedures and/or geometry type implementation.
Determining what release of the ArcSDE technology that you have has never been a simple process. Unfortunately, that does not change at 10.0. As I said at the beginning, understanding what it is you�??re trying to do and why will help me in answering this question.