We disagree about several things. But thank you.
As I understand it the Cloud connect and disconnect calls need not be blocking. It is establishing the WiFi connection which is unavoidably blocking. If I understand this correctly then that is fortunate - there is no technical reason for me to go forth and multiply. As long as the LAN stays up - and it does for weeks and weeks on end - the Cloud ought to be able to come and go without blocking user code.
However, it seems Spark HQ are not going to work on this themselves.
I cannot do as @bko suggests and fix it for myself - I lack that level of knowledge if not skill. All I can do is point out (a) that were Spark HQ to choose to address the problem @Zach says they could - it's possible. And (b) that Spark HQ choose not to address the issue. And (c) this will not be fixed by a trickle down from the Photon as this is precisely where the two products differ - there will not be shared code in this area.
There seems to be a hint a bounty might be offered for a fix