Код для отключения кнопки должен быть после вызова SdGeneralInit.
Если вы поставите его раньше (как я сделал), изменения не будут сохраняться.
Вызов SdGeneralInit явно включает кнопку «Далее», поэтому она не работает для кнопки «Далее», но работает для других пользовательских кнопок в диалоговом окне.
Это должно выглядеть примерно так:
case DLG_INIT:
SdGeneralInit( szDlg, hwndDlg, 0, szSdProduct );
hDlgHandle = CmdGetHwndDlg(szDlg);
hNextButton = GetDlgItem(hDlgHandle, 1); // 1 is the id for the next button.
EnableWindow(hNextButton, FALSE);