The one logical change I see is that your code can result in calling sip.setapi(1), which we previously never called.  Instead, we left it as default.  If I recall correctly, this actually is different behavior on Python 3, since PyQt actually switched the default API to v2 from v1.

I don't think we ever actually specified 'v1', we only ever specified v2 or left it alone.  That would mean the three states are:

- pyside
- pyqt + v2
- pyqt untouched

never pyqt + strict v1