So my question is how can I prevent Windows to do this useless request...?
Or at least how can I force Windows to access the real share after..?
The answer is that you can't! Sorry to say, but this is the case. However, although this is the true answer to your question - I don't want to sound unhelpful. I do want to help, so hopefully what follows is the best advice I can give that will prove useful to you in your situation.
I am a professional penetration tester, and often use anonymous share access (such as IPC$) to obtain information about and break into systems for legitimate testing purposes. The key thing is to prevent enumeration of users and shares by an anonymous user (someone without valid credentials). Once valid credentials are obtained there are usually other ways of enumerating users (e.g. cat /etc/passwd), and it becomes less of a priority to an attacker anyway.
The article you referenced contains the following:
If you use this method, then clients will be given an `access denied'
reply when they try to access the IPC$ share. Those clients will not
be able to browse shares and may also be unable to access some other
resources. This is not recommended unless for some reason you cannot
use one of the other methods just discussed.
The reason why it is not recommended is because "Those clients... may also be unable to access some other resources." Windows not being able to access any shares on the machine is an example of this. Unfortunately Windows requires access to IPC$ in order to view the other shares. If it can't see IPC$ it just assumes that no other shares are available and gives up.
Linux client implementation of Samba works slightly differently and therefore doesn't experience the same problem. As there isn't a way round it, I would just ensure that the IPC$ share isn't giving away information to anonymous users.
Using the Host-based protection and User-based protection sections of the article you sent are good ways of preventing undesirable access to all of Samba, including the IPC$ share from untrusted sources, and may well give you everything you need.
However, further advice is available in specified sections of this page:
Sections to look at:
"access based share enum"
"browseable" - setting to "no" on all shares (except IPC$) should prevent them showing up but windows should still be able to access
"guest ok" - test whether setting to "no" on IPC$ share prevents Windows accessing other shares
If you are using winbind then set the following to prevent enumeration of those:
winbind enum groups = no
winbind enum users = no