Is there anyone out there who knows why when I execute a distributed transaction such as:

BEGIN DISTRIBUTED TRANSACTION
/*PART 1. SHOULD WORK*/
delete from employee where employee_id=`dj0006`
/*PART 2. ISN`T SUPPOSED TO WORK*/
execute pigsched.marc.del_dj
COMMIT TRAN

the first part does commit and execute and the second doesn`t, when, in fact, if either part cannot commit then both should be rolled back due to implementation of the two phase commit protocol.
Cheers, Marc