Faut que tu récupère les dimensions au chargement des images, et pas simplement de la page, en gros si t'es dans un $(window).load(function() {}) ou $(function() {}), toutes les images ne seront pas chargées.
J'avais ce problème avec uCarousel, au chargement de la page, certaines images étaient chargées mais pas d'autres, et j'avais besoin de récupérer leur taille. J'ai simplement exécuté mon script une fois que toutes les images étaient chargées et aucun problème.
Voilà le script que j'ai utilisé pour ça: http://hiii.fr/JGw
Bon y'a une petite redondance sur le .uCarousel() mais ça aurait pu être évité en faisant une fonction 