Bien, si estas convencido que la logica esta bien, como es este el caso, es hora de comprobar que los valores estan bien. Haz un:
Código PHP:
echo $imagen[0].'<br>'.$imagen[1];
Para saber si obtienes los valores correctos. Puede ser que getimagesize() lo haya devuelto bien los datos.
Y para cuando tienes multiples condiciones en un if, usa los parentesis:
Código PHP:
if (($imagen[0] <= $maxsize) && ($imagen[1] <= $maxsize)) {
Asi te olvidas de lios de preferencias y asociciones mal hechas.
Sakudos.