I can confirm I have this problem as well. If I use a different username/password for the artifact downloading (my nexus group) than I use for the distribution server (my nexus release repo), it does not work. If I change them all to be the same username/password and give my "release user" all permissions it works fine.
How I normally have it setup is a "jenkins" nexus user that has read only rights to my nexus group; all my jenkins builds use this account (via settings.xml). Then I added a "release" nexus user that has write access to the release repository in nexus. My release build just added this server/username/password to my settings.xml; keeping the other server setting for the nexus group. This failed as above. When I changed the nexus group server/username/password to be the same user as the release repository, it worked.
THIS WORKS:
<servers>
<!-- This server.id matches my nexus group -->
<server>
<id>nexus-group</id>
<username>release</username>
<password>****</password>
</server>
<!-- This server.id matches my release repository -->
<server>
<id>nexus-releases</id>
<username>release</username>
<password>****</password>
</server>
</servers>
THIS DOESN'T:
<servers>
<!-- This server.id matches my nexus group -->
<server>
<id>nexus-group</id>
<username>jenkins</username>
<password>****</password>
</server>
<!-- This server.id matches my release repository -->
<server>
<id>nexus-releases</id>
<username>release</username>
<password>****</password>
</server>
</servers>
uhm I don't see something related to hudson here.
Because those happen during the maven build and here hudson only listen and collect datas.
If hudson (maven-plugin) was the cause you will probably have for all builds.
I suspect more issues with your local metadata : have you try running your build with -U ?