Водные каналы в Питере не замерзают зимой по следующим причинам:
Быстрое течение реки. Из-за этого образуются участки с непрочным льдом. Работа ледоколов. Они пробивают лёд, чтобы предотвратить зимние наводнения. Выпуски сточных вод в реку. Вода на таких выпусках теплее, чем в природном водотоке. Приплывание льда с Ладоги. Льдины сбиваются в кучи и идут в сторону Финского залива. Это может привести к заторам и зажорам, которые способствуют поднятию уровня воды.
В холодные зимы всё замерзает, в некоторые годы протаптывались тропинки через Неву как то меня товарищь приглашал по каналам на лыжах покататся,(приехать из загорода) Но плюс к выше сказанному, на Неве в холодные зимы специально ледоколами колят лёд дабы народ не ходил по льду и кто нибуть не провалился.