1. The API does not provide any functionality to disable a button. When *you* provide a component with Javascript code that disables a button, you have to check this code.
2. Yes, it is correct that uddeIM 2.3 behaves like uddeIM 2.1 (the button will not longer disabled). The reason is that the button was still disabled when the user used the browser's back button and retyped a message he was not able to send the new message.
3. Double posting is a typical layer 8 problem: Depending on the server and network load it might take 1-2 secs to get a feedback that the message has been send. When a user clicked a button twice the message has been send twice.
From your last postings, e.g.
www.joomlapolis.com/support/forums/147-potential-bug/158013-session-timed-out#158013
www.joomlapolis.com/support/forums/25-uddeim-plugin-and-component/157117-re-send-speed#157117
I can see that your server has a performance problem, so it is obvious that users will not get a feedback in time and click the send button twice.