The ReconnectWindow is set based off of the disconnect timeout and the keep alive, if there's no keep alive it uses the DisconnectTimeout.  Without setting it the ReconnectWIndow resolves to 0.  Therefore the second you "MarkActive" you disconnect.