ya me había olvidado de este tema, bueno el error era un bug de la función
strtotime() en versiones de PHP anteriores a la 5.2.7.
Cita: In PHP 5 prior to 5.2.7, requesting a given occurrence of a given weekday in a month where that weekday was the first day of the month would incorrectly add one week to the returned timestamp. This has been corrected in 5.2.7 and later versions.
Seria bueno retomar este tema, a ver si alguien se anima a lanzar un tiro.
Saludos