SQLyog has always been picky on PKs. It won't let you edit a table via its GUI if the table does not have a PK defined.
In the sync case, however, I perfectly understand why SQLyog does not sync tables without PK: it would need to compare the whole content of the desired table to determine which rows differ and that would put heavy load on the machine(s) with the dbs and SQLyog. If you do can create those PKs then go ahead and creat them!