cr0sh:
That said - have you tried playing around with PulseIn()?
I have been reluctant to suggest that until we know what the actual PWM frequency is. In addition it may find it very difficult to detect a very low duty cycle.
pulseIn() is often used with R/C signals - but there the duty cycle is severely limited and the repetition frequency is very low at 50Hz.
...R