Я вот размышляю о двух вариантах: сказать сразу или когда конец будет близок. То есть "сынок, Шарик болен, он скоро умрет, может через месяц или два" или "сынок, Шарику очень плохо, завтра, когда ты будешь в школе, я повезу его к ветеринару и там уже станет ясно будет он дальше жить или его оставят в клинике". В первом случае у него будет возможность насладиться его обществом, знать, что скоро щенок умрет, но сейчас жив и... Или как снег на голову, но зато не будет грустных ожиданий и проверок каждое утро "жив ли еще", но будет сразу "опа и все, нет собаки".