Yes I agree totally with your comments. If I would only have the time... For now I am waiting for the beta2 release, unless I will have time left by the end of the week.
Nevertheless, the SMACK log should provide you enough information to acknowledge the current behaviour is incorrect. The ACK listeners for the following packets:
<presence id='bPaws-6'></presence>
<iq id='bPaws-7' type='get'><query xmlns='jabber:iq:roster'></query></iq>
Are only called after the first chat packet is sent:
<message to='7154a5d8af3e4221976d374b2f05e4c1@localhost' id='chat_message_ack_prefix_workaround_2' type='chat'><body>ABC
</body><thread>7154a5d8af3e4221976d374b2f05e4c1</thread></message>
Moreover, the ACK listeners by packet ID are not called at all.