This is an old post but I happened to be working with the AN4907 eTPU code and was interested in experimenting with FUEL. I simulated a case similar to that described in the AN3770 complex injection section and got the expected results. The screen capture below shows 3 FUEL pulses resulting from 4 updates to the injection time.

Prior to start of fueling, the injection time is at 1000us. At (1) the injection time is updated to 400us via the fs_etpu_fuel_update_injection_time() API. Since ~600us of injection has already been applied to that point, the injection ends immediately. At (2) the injection time is updated again to 620us, but this is ignored because the additional injection (~20us) does not meet the minimum pulse time, which is configured to 50us. The injection time is updated to 800us at (3), which generates a pulse of approximately 200us (plus the 200us compensation time). Shortly after that pulse the injection time is updated one last time (4) to 1000us. At (5), after the off_time_minimum has been satisfied, the final 200us of injection is applied, at the end of which it can be seen that the injection_time_applied (measured) to equal to the injection_time (requested) - 1000us (100000 TCR1 ticks). Note that all of this occurs before the stop angle, which occurs at 680 degrees in this configuration.
Of course multi-pulse generation is going to be an atypical case with the FUEL function, but the code will generate such if so requested and within timing and angle limits - the timing window in which injection updates can trigger multiple pulses is rather small. More likely operation might be to update fuel timing at the stop angle interrupt, which would eliminate the possibility of a multi-pulse. I have attached the simulation test case I put together to examine this capability.
John Diener