A volte anche i Guru sbarellano (IMHO)

Mi trovo in leggero disaccordo con quanto espresso da Joel Spolsky nel suo post Don't hide or disable menu items.

Secondo me non è corretto lasciare tutti i comandi abilitati, in alcuni casi si rischia davvero di sovraffolare la GUI.
Sì, indicare all'utente il motivo dell'impossibilità di portare a termine un'operazione può essere un modo per rendere il software accattivante ma alla lunga rischia di stufare gli utenti esperti.

Si potrebbe rendere configurabile un simile comportamento, una modalità novice che preveda i messaggi ed una expert che nasconda/disattivi i comandi non permessi.
In generale, se dovessi visualizzare un messaggio di spiegazione non userei una Message Box: significa un click in più. Al massimo opterei per un tooltip o cose di questo tipo.