Calling C2D_SpriteSetScale, and changing the scale to 0 will permanently make the sprite invisible. However, changing the centre of the sprite on the axis that the scale was set to 0, will make it reappear again. I've only tested this bug in citra however, so it might not occur on a real 3ds.
I think the bug is caused by these lines, where it calculates the old centre by dividing the centre by the width and height(which would be 0). It is important to note that this bug also occurs in C2D_SpriteScale.
I can provide a code example if it helps.