I had the same issue with a site I inherited. It looks like some terms were saving the same custom order. For example, tag3 and tag4 would both be set to show up in the 2 slot. I’m not sure if it was due to deleted tags, tags that existed before the plugin, or what.
When the plugin looped through the tags it would choke. Instead of a new set of terms with the 20 items you would only get back 19 after the plugin got done with its loop.
If you place the code below roughly above line 136 (where it says $placeholder[$term_key] = $object;) it should fix the issue:
// check for duplicate term_key values
foreach ($placeholder as $k => $v) {
if ($term_key == $k) {
$term_key = $invalid_key;
}
}
// add object to placeholder by it's key
$placeholder[$term_key] = $object;
The loop will first check to see whether the custom order slot was used by a previous tag. If it finds a duplicate, it will place it in another slot.
That gets it to display all the tags.
You may still have a couple items showing out of order. In that case you may have to reorder the tag to save a new order, or even delete and re-add the tag. The trick is moving all the tags around so that their order accordion to the plugin gets a value.