Ich arbeite mit dem Atmel Studio 6.1.2674 - SP1

In der stdint.h
Code:
#define INT32_MAX 0x7fffffffLL
#define INT32_MIN (-INT32_MAX - 1LL)
#define UINT32_MAX (__CONCAT(INT32_MAX, U) * 2ULL + 1ULL)

#else /* !__USING_MINT8 */
#define INT32_MIN (-INT32_MAX - 1L)

Ich habe die Regeln zur Typumwandlung nicht präsent, vermute aber folgendes: "Fester Wert" ist eine Konstante, damit int und 16-Bit breit. TCNT1 ist ebenfalls 16-Bit breit. Also bekommst du eine 16-Bit-Multiplikation, die läuft über und das Ergebnis landet in deiner 32-Bit-Variablen.
Ich habe die 32bit Variable extra mit 65500 initialisiert und dann hochgezählt und musste feststellen, dass diese bei 65535 überläuft. Also nur 16bit.

mfg