You are mistaken. The code in std.filepicker.list1.xsl reads as follows:
<xsl:variable name="image_width">
<xsl:choose>
<xsl:when test="/root/params/image_width">
<xsl:value-of select="/root/params/image_width" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="//root/structure/main/row/cell/@imagewidth" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
which means that for the variable $image_width it looks first in "/root/params/image_width", and if that is not found it looks in "//root/structure/main/row/cell/@imagewidth" which is supplied from the screen structure file. In my tests I modified the values in the screen structure file, and it was these which were picked up by the XSL transformation. If I supply only one value then only that value goes through the XSL transformation and appears in the HTML output.
The reason that I do not show each image full size is that full size is not, or should not be, necessary in the file picker. Nor should it be necessary in any maintenance screens.