I figured it out! I have absolutely no idea why this worked, but I was trying to adjust values to get it to render correctly and happened to fix it. I simply replaced this code in my Drawer implementation's draw() method:
int height = -(int)(sprite.getHeight()*object.scale.y);graphics.drawImage(sprite, (int)newX, (int)newY-height, (int)(sprite.getWidth()*object.scale.x), height, null);
with this:
graphics.drawImage(sprite, (int)newX, (int)(newY+sprite.getHeight()), (int)(sprite.getWidth()*object.scale.x), (int)(-sprite.getHeight()*object.scale.y), null);//Note the lack of *object.scale.y in the Y position.
I assume it was my mistake with my implementation anyway, but at least I got it working, although I am still perplexed about how this fixed it.