What is going to solve this issue is to see if the last element can be returned with the random generator.
xienwolf's random logs look convincing.
EDIT: in additions, some lists can return size 1 even if they are empty. In these lists, the last element is always empty, and not ment to be selected. Thus you actually need a len(lList)-2 to access the last valid element.
You not talking about python lists now, right? Just lists in programming in general.
Because a list in python will always have zero length if they are empty.
Anyway, I was going to remove some -1 and see if I got any IndexError or whatever during play. Unfortunately I realized my graphics card was fried, so I'll have to fix that first.