Ok, fixed the problem. It seems that the bank manual is not correct ( still waiting for the answer from bank though ).
Replaced sha1 with md5 and all became valid.
$pre_mac = md5( $this -> getXMLData() );
Thanx raina77ow, you pointed me to the right direction with your coment:
did you try omitting that intermediate hashing altogether?