Fully suppress search UI (box + results panel) when ShowSearch=false, and reset search state on ShowAsync so a reused dialog never shows stale results.