Yeah, I know, it looks very familiar, my first impression was that I've already seen this code before...

This is not a personal attack against anyone, but the upgrade problem is still there no matter who wrote it.

You can verify it by rebuilding the packages with a bumped release number and performing a regular upgrade (rpm -U). The wx-config symlinks will be gone afterwards.
My recommendation is: Don't use rpm scriptlets at all, using them is not necessary here. Just include the wx-config symlink directly in the file list of the -devel package - keeping things as simple as possible is the best.
Another solution is using the update-alternatives framework. This originates from Debian, but was ported to rpm by Mandriva and is available in most modern distros. There is not much documentation about it, but you can copy some code from jpackage.org RPMs - they are heavily using the update-alternatives framework.
As a last resort you can use the low-level solution as documented in the IBM developerWorks article: Wrap the removal code into an upgrade test.
%post devel
if [ "$1" -eq "1" ] ; then
# link wx-config when you install RPM.
%if %{unicode}
ln -sf %{_libdir}/wx/config/%{wxconfig} %{_bindir}/wx-config
%endif
# link wx-config with explicit name.
ln -sf %{_libdir}/wx/config/%{wxconfig} %{_bindir}/%{wxconfiglink}
fi
/sbin/ldconfig
[...]
%preun devel
if [ "$1" -eq "0" ] ; then
%if %{unicode}
rm -f %{_bindir}/wx-config
%endif
rm -f %{_bindir}/%{wxconfiglink}
fi
"Someone" should report this to the wxWidgets people, but at the moment I don't intend to do it because I disagree with the overall design of these spec files. Their approach is overly complex, much more than it has to be.
Another reason is that there are even more illogical things in it. For example, running /sbin/ldconfig after installing development sub-packages is completely unnecessary - /sbin/ldconfig is intended to be run after installing a shared object which has an SONAME only, but development sub-packages don't contain any shared libraries at all.
This does not break anything, but it is still highly questionable and, sorry to say, not a good coding practice. And the placement of comments which refer to conditional code is incorrect, and the code in %preun should be in %postun to avoid troubles in unforeseen situations, and, and, and...