Если интересует "простенький" пример обращения к симметричному алгоритму, то
GrdApi.GrdCrypt(GrdHandle,
GrdAN.GSII64,
DataString,
(UInt32)GrdAM.ECB + (UInt32)GrdAM.Encode,
InitVectorGS2);
Полноценный пример работы с ключом из C# можно найти в SDK:
\Samples\x86\Win32\General Guardant API\Microsoft Visual C#
Что касается реализации логики собственных механизмов защиты, то базовые рекомендации можно почерпнуть из уже обнаруженном Вами Уроке 3.2 и в конце второго тома пользовательской документации (также в SDK).
Как говорилось в уроке, есть два пути: проверка по таблице вопросов-ответов (то есть расшифрование сохраненных в приложении зашифрованных данных) и шифрование /расшифрование произвольных. Использовать нужно оба.
Давать готовый шаблон защиты при помощи симметричного алгоритма я бы не стал, так как мы на форуме, а защитные механизмы должны быть все таки уникальны и известны только Вам.
Из общих рекомендаций - обязательное использование обфускатора (нашей автозащиты или любого другого). В идеале, конечно, в связи со спецификой .NET - переход на новое поколение ключей и использование загружаемого кода и асимметричных алгоритмов (вместе с симметричными).
Если возникнут вопросы по реализации или эффективности тех или иных подходов - пишите, постараемся ответить.