Hi,
Above and beyond all else what works better than anything else is of course, sandblasting. After you sandblast the board it's pretty clean (ha ha).
Ok seriously, back in the 80's Trichloroethylene was the cleaner used most often, but i dont think that is allowed anymore due to environmental and human health issues.
In the past we had used isopropyl alcohol also and it works pretty well. It's hard to find something that wont remove any protective coating. What we used to do was clean the whole board and then have it coated again. That meant a complete cleaning of any flux as well as all protective coating first, then when dry simply coat the entire board again as if it had never been coated in the first place.