Si quieres implementar un PWM fiable, será mejor que lo hagas por hardware (desconozco si analogWrite hace eso). Efectivamente, si lo haces por software y no está bien depurado el código, una interrupción te podría estropear el invento.
Respecto a que no permita decimales, ¿qué precisión necesitas?. Hay PWM de 16 bits.