In general the registry key value is 400 and menu opening/hiding works normally. The problem occurs when the value is zero. In this case a sub menu opened correctly and immediately, but when i move the cursor to a leaf menu entry, the previously opened (and displayed) sub menu remains to be open. If cursor moves to another sub menu, than the new one is opened. Of course at this point this last sub menu remains open when I move to leaf entry. This opened sub menu remains open, as far as the cursor moves to other leaf entries.
I just tested the case with other values. Here is what I see: when value is small (1 or 10), sub menu appears immediately and closes immediately when cursor moves to a leaf. When value is big (5000), sub menu opens after the defined time and also closes after delay: cursor moved to a sub menu entry; wait 5 sec until sub menu opens; move to another sub menu, then the opened sub menu remains displayed and only after 5 sec the new one is displayed; move to a leaf entry then the opened sub menu remains open 5 sec before it is closed.
I think the delay is sub menu closing is a bug; at least the registry key name indicates only 'opening delay' - but at least it is consistent: the same amount of time waited for opening and for closing. In any case, it seems value zero is handled as a special case, as in this case opening is not delayed, and closing is delayed indefinitely.
I emphases: the problem occurs only for application developed with the MFC Feature Pack. I use Windows 7, the registry key currently is set to 5000 (I didn't reset my host) and menus open and close normally. I opened iTunes, SQL Server Management Studio, Notepad++, FileZilla Client - all of them behaves normally, without any delay in sub menu opening or closing. So it seems Windows 7 in general doesn't even look at the registry key, but Feature Pack does it (even without restarting the host).