If a 2 high or 2 wide block gets replaced or moved with the keywords replace and/or move, only one block gets actually changed without sounds and particles and the other gets broken as if the keyword destroy was used on that block.
/fill ~ ~ ~ ~ ~1 ~ minecraft:air replace
/clone ~ ~ ~ ~ ~1 ~ ~ ~ ~1 replace move
This also happens if the blocks get overwritten by a loading structure block.
This only affects blocks that are depended on each other. A double chest is not affected by this.
Additionally depending on which block gets changed first, the other block might drop as an item.
At least the following double blocks are affected:
minecraft:sunflower
minecraft:lilac
minecraft:rose_bush
minecraft:peony
minecraft:tall_grass
minecraft:large_fern
minecraft:pitcher_crop
minecraft:pitcher_plant
#minecraft:doors
#minecraft:beds
This bug makes it impossible to remove these blocks with commands without a visual or audio signal even if the keywords replace or move are used.
Removing one half of the double block probably causes a block update on the other half before the command has the chance to remove the second half.
Possible solution would be to suppress the block updates until the command has finished with all affected blocks or the structure block has loaded all blocks.
Linked issues
is duplicated by 8
Comments
Relates to MC-188223, in actuallity same core issue.
Can confirm for 1.20.1

Can confirm for 1.21. Can also add minecraft:tall_seagrass to that list.

Looks like the changes with the addition of the strict option in snapshot 25w02a have fixed this issue. Even with or without using the new strict option no item drops, sound effects or particle effects are generated.
Can confirm in 20w51a.