If you use the PLT scheme, the concept library will allow you to do this quite accurately:
; natural -> (listof natural)
(define (list-to-zero start-num)
(for/list ([i (in-range start-num 0 -1)])
i))
Just an alternative to a recursive form ...
source
share