The parameter or field name used in any of the getItemValue methods IS NOT case sensitive. The method names ARE case sensitive.
In other words all of these work the same:
vsimages = productDoc.getItemValue('images');
vsimages = productDoc.getItemValue('IMAGES')
vsimages = productDoc.getItemValue('ImAgEs');
vsimages = productDoc.getItemValue('ImageS');
But this will not work, or compile:
vsimages = productDoc.GETITEMVALUE('images');
the method NotesDocument.replaceItemValue('FieldName', value) will add the field to the database field list if it is not already there AND it adds it in the case format you used. The LS shortcut of being able to create fields using NotesDocument.FildName = value is what caused the database field list to have the uppercase field names. Using replaceItemValue in LS has the same behavior of adding the field in the case you specified.
Newbs