Или может не так?
Нет, не так, насколько я вижу из текста, отличия лишь в указании на беззнаковость числа и не более того. Для чисел до 2млрд отличий нет, для бОльших чисел отличия есть (например число 3 миллиарда не представимо в 32-х битах со знаком).
Ещё отличие может где-то вылезти если вы будете смешивать операции со знаком и без знака, компилятор будет ругаться (предупреждениями, не ошибками). По хорошему надо везде правильно преобразовывать тип руками, не надеясь что компилер всё поймёт правильно.
К типу источника тактирования это вообще никаким боком, он выбирается fuses и никак иначе. Здесь же лишь указание на его частоту, для процедур настройки таймеров и задержек. Если ими не пользуетесь, то эта срока вообще не особо нужна (тут не уверен, некоторые библиотеки требуют, хотя реально и не нужно).
если я "залью" прогу для atmega8 в atmega8L то это будет считаться нормально, или без толку даже и пробовать?
Тут надо смотреть в чём именно отличия этих процессоров, я навскидку не помню. Обычно L версии более низковольтные и менее скоростные, в остальном же не отличаются и программа будет работать, но бывают и исключения, тем более с такими древними процами (а новые все без L и тем более V версий, зато с PA суффиксом, и иногда с бОльшим количеством периферийных устройств и новыми битами в старых регистрах). У меня в старом pdf указано что L версия от 2.7В против 4.5В, зато лишь до 8МГц против 16МГц. Насколько я вижу по pdf, они имеют одинаковый ID и значит для программатора ничем не отличаются (он просто не может их различить). Во всяком случае я не вижу в pdf таблицы отличий.
-- 21.05.2018, 21:40 --PS. Пишите всё же не
[syntax lang=C], а
[syntax lang="c"] - в кавычках и маленькой, как предлагает кнопочка выбора подсветки синтаксиса, код с подсветкой приятнее выглядит.