I understand your concern, however this behavior is by design, at least in the current versions.
There are some underlying issues that lead to this design. What you ask for (and it is definitely a good thing) can only be achieved in certain circumstances. For one, the address space of the OPC server must not change in between the invocations of the dialog. But more importantly, the client side must preserve extra browsing-related information in order to allow this, because in general, OPC Data Access does not allow you to "recreate" the earlier browsing state with just knowing the past ItemID. Only some servers may allow to browse to certain "absolute" point in the hierarchy, but that is not enough, since the browsing dialog needs a browse path from the root.
In future we may allow for this to work with repeated invocation of the same dialog object (this relates to your other question in the forums). We have it in the list of possible enhancements. But it will not be possible to do it with a "clean" new dialog, just passing in the ItemID.
Initializing ItemId property in UserBrowseItem class and then invoking dialog by RunMe method does not navigate me to preselected IteId in items tree although the item exist in the server.
Is this a property or bug?
It would be better to navigate me to preselected item (when customer select improper item by accidentally double clicking on side item, then he/she must open whole way in the tree instead of selecting correct item in open path of lastly selected item).