You need to execute the SQL commands (at least your egw_ctrl - sql commands)
see some line below:
 ($rs, $rdata) = doSQL($sql);
but I don't know why your version does not reset the status to "ok"...
I'd do it maybe like this:
Code:
... line 3883... (version from may 29)
    if ($dmn_status eq 'toadd') {
        $rs = dmn_add_data($entry);
        $timestamp = time();
        if ($rs == 0 && set_dmn_egw($dmn_id)) {
            $sql = "update domain set domain_status='ok' where domain_id = $dmn_id";
        } else {
            my ($sub_name, $msg) = split(/$main::el_sep/, pop_el(\@main::el));
            $msg =~ s/\'/\\\'/g;
            $sql = "update domain set domain_status='$sub_name | $msg' where domain_id = $dmn_id;";
        }
        ($rs, $rdata) = doSQL($sql);
        return $rs if ($rs != 0);
...
 
and then create your own function (set_dmn_egw) which do the egw-thing...
Your function should be executed if ($rs == 0) and if your function does ends with a "true" then the status should be set to 'ok' - else you can setup a msg...
Hope you can manage this...
/Joximu