RF24::write returns incorrect boolean

I am using UNOs, and nrf24L01+ PCBs with Red Wings Power Supply units. There is one master board communicating with one slave. The slave has this subroutine

   // dummy process to simulate something being done by the slave
   bool dummyProcessA()
   {
    // define the confirmation message to be sent
    char confirmation[3] = { 'X', currentCommand, slaveNumber };
    
    Serial.print( "Process " ); 
    Serial.print( currentCommand );
    Serial.println( " is Running" );

    // do something
    for ( int i = 0; i < 20; i++ )
    {
      Serial.print( 'A' );
      delay( 250 );
    }  //  end for
    Serial.println();

    radio.stopListening();
    if  ( radio.write( &confirmation, sizeof( confirmation ) ) )
    {
      Serial.println( "Confirmation sent" );
    }
    else
    {
      Serial.println( "Confirmation not sent" );  
    }  //  end if
    radio.startListening();

    Serial.print( "Process " ); 
    Serial.print( currentCommand );
    Serial.println( " is Complete" );

    return true;
   }  // end dummyProcessA

When this routine runs the debug printout shows

Process A is Running
AAAAAAAAAAAAAAAAAAAA
Confirmation not sent
Process A is Complete
Slave Waiting Instruction

but the debug printout in the master unit reads

Command sent was A
Command in memory is >A<
  Acknowledgement data 109, -4000, 1

Slave 1 has completed Task A

Command sent was B
Command in memory is >B<
  Acknowledgement data 108, -4001, 1

Slave 1 has completed Task B

It is obvious from the lines Slave 1 has completed Task A and Slave 1 has completed Task B that confirmation was in fact sent despite the assertion from the slave printout that Confirmation not sent.

I am using the TMRh20 version of RF24::write, and according to the documentation it should return "True if the payload was delivered successfully false if not. It appears that it does not.

Is their something wrong with my code, or is this the way it always works?