Basically the bug is in function:
function sendNewSysMessage($fromid, $recipients, $message, $systemmsg=0, $validfor=0, $sendnotification=0, $forceembedded=0)
( uddeim.api.php )
around line 316 (in v4) , that if you wish to send message to specific user (recipient) does following query:
$sql="SELECT DISTINCT u.id FROM (#__users AS u INNER JOIN `#__user_usergroup_map` AS um ON u.id=um.user_id)
INNER JOIN `#__usergroups` AS g ON um.group_id=g.id
WHERE u.block=0 AND g.id=".(int)$recipients;
as result the list returns empty as it check user group id, not specific user id. So message is not sent to no one.
The fix is to change the query a bit:
$sql="SELECT DISTINCT u.id FROM (#__users AS u INNER JOIN `#__user_usergroup_map` AS um ON u.id=um.user_id)
INNER JOIN `#__usergroups` AS g ON um.group_id=g.id
WHERE u.block=0 AND u.id=".(int)$recipients;
Just replace g (group table) with u (user table) and it will find user and send to him.