Ok now I understand!
When updating SQLyog updates every column in the grid. There is no logic in the grid to 'remember'
that a row is printed there twice.
With this query
SELECT a.id, a.name, a.* …
it happens as you describe it. Why do you need to “SELECT a.id, a.name” explicitly when you “SELECT a.*” ??
Do you know any graphical grid-type database client doing otherwise?