No, it's not exceeding. Basically what's happening is, as multiple calls to the current value are made so it can increment it, it's being retrieve before some elements can update it.
value = 1
A calls value: 1
A inc value: 2
B calls value: 2
C calls value: 2
D calls value: 2
C inc value: 3
D inc value: 3
B inc value: 3
Where value should be 5 at this point, it's only being overwritten as 3 because in how it gets accessed. What I would need is a way to make C, D, E wait to retrieve the value until A has updated it and so on. The others would just be pending in the meantime.
I've changed it over to using a global value, which seems to have improved the result, but it still falls behind on occasion. I'm thinking about just changing how the loading status is portrayed to the user. Instead of a progress bar, I'd have a placeholder element created for each item I'm loading. As the necessary data is loaded for that item (a movie in this case), I can update that item with the real content.
In a somewhat related problem, I'm not sure how I can append elements in jquery but keep them dynamically sorted. I have an idea about using a binary search to determine where to insert said item, but it has the potential to create the same problem as above.

"I like offending people, because I think people who get offended should be offended." - Linus Torvalds