OK, never mind... I solved it.
The default = random.randrange(1000,10000) code was happily taking the
static return value. Duh.
I changed it to:
default = lambda: random.Random().randrange(2000,8000)
I dunno if the extra Random() is needed, but it can't hurt, right?