Okay, my thoughts on this:
- The captain of the Italian ship did nothing wrong as he took his ship to render assistance as soon as he was made aware of the incident.
- The Maltese authorities did nothing wrong as they attended as they should but they were simply too far away to get there.
- The Italian authorities did nothing technically wrong (though morally is questionable) as they informed the caller he needed to contact the maltese authorities.
IMO (and I'm sorry if this triggers some people) the fault lies with the captain of the refugee ship who set to sail with no radio and thus no way to contact other ships for assistance.
This is a case where some people followed the rules and that lead to disaster, however had it not been for the actions of the person not following the rules the disaster would have been averted.