Hola, no estoy seguro de haber comprendido tu problema, quizás deberías hacer el mensaje más extenso, pegando todo el código si fuera necesario. De esta manera, será más fácil que obtengas una mejor ayuda.
Lo que he deducido es que al cambiar la anchura y la altura del rectángulo, no afecta al blit. Eso es normal, puesto que es así como funciona blit. Si le pasas un rectángulo como coordenada de destino solo tiene en cuenta la posición de la esquina superior izquierda sin fijarse ni en la anchura ni en la altura del rectángulo. Según la
documentación de pygame: "A Rect can also be passed as the destination and the topleft corner of the rectangle will be used as the position for the blit. The size of the destination rectangle does not effect the blit."
Si lo que quieres es imprimir sólo un trozo de la imagen, puedes pasar otro rectángulo en el parámetro de área de blit. Ese rectángulo representa el área de la superficie de la imagen que quieres imprimir.
Saludos.