the SubscriptionID can be found in the "Server Diagnostics View".
Menu->Document->Add...
The diagnostics view will create its own subscription, therefore there can be multiple subscriptions running in one session. Hence make sure you are using the correct one (the ID that is attached to the DA View) that you want to set durable.
yes, the SetDurable can only be called as long as the subscription is "empty". After being set durable, you can add the monitored items to the subscription. the server will persist the queue (instead of holding in memory only), hence will survive long interruption AND shutdown of the server itself.
The client must (after reconnect) get hold on his old subscription (TransferSubscription) in order to receive the persisted item queue. The DAView of UaExpert can display "last" value, hence will not be suitable for testing. You can use C++ SDK and implement the client and the server functionality accordingly.
Note: depending on your use case the "Historical Access" (HA) might be a better approach.