It turned out that though sfdisk recognized an attempt to write 0-sized partition, it still writes correct entry in EBR. To alleviate that I simply move second entry on place of first one and fill second entry with zeros. It triggers udisks into thinking it was the last one.
The following should be step 2.5 (i.e. between 2. and 3.)
dd if=/dev/sdb1 of=/dev/sdb1 seek=446 skip=462 count=16 bs=1
dd if=/dev/zero of=/dev/sdb1 seek=462 count=16 bs=1
Explanation:
It turned out that though sfdisk recognized an attempt to write 0-sized partition, it still writes correct entry in EBR. To alleviate that I simply move second entry on place of first one and fill second entry with zeros. It triggers udisks into thinking it was the last one.