Si ya estas desesperado haz algo como esto: en un case dividis los meses que tienen 31 dias, 30 dias y 28 dias. Dentro del case harias una
rutina que recorrar cada dia del mes (con un FOR O WHILE), con el CDOW puedes ir contando cuantos sabados te aparece y punto. Ahora solo tendrias que averiguar si estas en años bisiesto o no. Seguro que hay maneras mas elegantes de resolver esto, pero si solo quieres sacar la solucion, esta funcionara.
Hola , esta funcion hace + o - lo que necesitas.
El formato de fecha es FRENCH y el parametros nQueDia es el dia que quieres determinar (en tu caso 7 por sabado )
Suerte