Ok, i manage to solve the problem.
All i had to do, was override the getView method as said.
But, since Im using a SimpleCursorAdapter extended Class, I had to do something like this:
public View getView(int position, View convertView, ViewGroup parent){
View item = super.getView(position, convertView, parent);
//Validation code for drawing or not the check image
return item;
}
So, that did the work, and now everytime the listview is reordered or drawn or scrolled the views are refreshed correctly.
Thanks guys for the help