Instead of using event="change" use the event as "selectItem". It will work fine without any isses.
<a4j:ajax event="selectItem" render="target" execute="@this" />
The problem for event="change" is the focus of the pointer is on the selected field only. once u click on the outside the focus has been changed the event is firing.
So u can use the event as "selectItem" to full fill ur requirement.
Or u can go for h:selectOneMenu with event="valueChange".
Thank you @Venkataramana and @Vitaliy. In the end, I followed @Venkataramana's advice and reverted from rich:select back to h:selectOneMenu, with an ajax event of "valueChange". That worked.
I was not able to apply "valueChange" to rich:select. It threw a tag library error at run time.
I'm still curious, for the other issue, why NetBeans gives an IDE warning if I use "valueChangeListener" in rich:select.