Error checking in function that returns reference to static variable
The only things I would change are:

    // Move this boolean to the top.
    // So if you throw an exception that is not caught
    // you then stil know that you have tried.
    hasTriedLoadingPath = true;


    try {
         // No change.
         muiPath = Internal::zGetSpecialFolder(zCsidlSystem)
                 + L"\\" + Internal::zGetSystemLocale()
                 + L"\\" + L"wbadmin.exe.mui";
    }
    catch (AutoWinError const&amp; e) {
        error = e.m_error;

        // Curious why you did not re-do the throw here?
        throw;  // Note. Not  `throw e;`
                // Rethrows the current exception.
    }