A bit ugly, but making the if(fulltile) at the bottom of SW_GaugePiece::draw_piece look like this fixes it:

Code:
	if(fulltile)
		overtile16(dest,tile+offs,dx,dy,cset,0);
	else 
	{
		if( mtile + offs == 103368 ) // draw half-hearts that are empty on their right side, not left
			overtile8(dest, 103388, dx, dy, cset, 0);
		else
			overtile8(dest, mtile + offs, dx, dy, cset, 0);
	}