Your code above is closing all streams, incoming and outgoing. The ones with the first error you mentioned were probably lost Flash clients that were playing the stream. There is one stream for each client, and closing an incoming stream does not close the stream of any of the clients that were subscribed to it.
You can get just incoming streams with IApplicationInstance.getPublishStreamNames()
As for shutting down FMLE like this, I have not been able to do. FMLE just re-connects over and over. But I think it can be done with HTTP calls, at least that is what is indicated here (but that I haven't tested):