Although Microsoft has the current mindshare, Windows is a generic term. Others have used it. So if you really need a new top level namespace, I would suggest MSWIN (or MSWINDOWS, or MSWINNT, or WINNT...).
I also view the direct access to OS APIs as a last resort - Perl
is about portability. So I'd much rather see
SSO::something::MSWIN - where something can be abstracted to work
with Unix, MS Windows, VMS, ... (e.g. login, logout, access,
deaccess, adduser, revoke, ...)
Note that Windows authentication is based on Kerberos, which
started on OSF/1 (Unix). And with some effort, still
interoperates. See Krb5, Authen::Krb5, Authen::Krb4, etc for
Perl interfaces.
Certainly there are applications for direct API access - system configuration, process debugging and monitoring come to mind. I don't object to making this easier.
But I do think that it's best to encourage application
portability by providing portable abstractions of functions with
OS-specific backends. Even if you leave writing all but one of
the backends to a future time or someone else.
The width of pointers and integers in the OS API is by far the least important consideration in application architecture. It can usually be buried under DWIM...
To use your example, I don't see much benefit in direct calls to
MessageBox - Tk gives you an interface that lets your application
run on Unix too. And while I haven't run into a cause where I
need to tweak beyond what Tk allows - better to extend Tk than to
hardwire an application to one OS for the sake of a bit or two.
(The same rationale applies to other APIs, of course.) Or there's
X11::Protocol even lower level, but still will talk to screens on
Windows, Unix, VMS & others.
Finally, I wouldn't assume that what you call "Windows" today
(covers both 64 & 32) will still be generic when
Win128,256,384 or 512 shows up. (May seem silly now, but they
will.)
So while raw API access can be handy in limited circumstances, I
don't think it should be pushed.