The problem was that I was unable to understand why some other loads my .dll.
But I have think it over and now I do understand this way:

*) I register my hookProc in system and let it run.
*) someone pushes the MULTIMEDIA_BUTTON_X
*) sytem handle it and send the message through the hooks chain
*) my .dll is being loaded and hookProc called with proper MULTIMEDIA_BUTTON_X value
*) calling/not calling CallNextHookEx(...)
*) .dll is unloaded ?
End of processing the message.

Am I right?

/m13