Now, SM seems to work fine when 'cleanly' disconnecting from the connection by manually triggering:
since the messages sent on the disconnected client were retrieved whenever it goes connected again.
No, if you call disconnect(), Smack will drop the state rendering stream resumption impossible. But Smack resends the unacknowledged stanzas when reconnected even without stream management resumption.
Now, I would just like to ask on how will the handling be when the client got 'unclean' disconnection from the WiFi / GSM? (i.e Turning off/on the WiFi)
Smack retains the stream state after "unclean" disconnects or instantShutdown(), which makes it possible to resume the stream.