This resizing of a cropped window when the dataset is switched should only happen when the new dataset is on a different 3D grid than the old one. If that is the case, the program doesn't know how to crop the same way as before, so it starts over with the un-cropped image view. If the 3D dataset grids are the same, then it can keep the same cropping.
The reason for this "feature" (switching back to no-crop when the dataset size is changed) is that the cropping is taken care of in the image viewer module based on voxel start-stop counts. If the number of voxels along a given axis changes, the correct places to start and stop probably wouldn't have the same indexes, so the cropping gets turned off so that you have to deal with it.
To be precise, the cropping is disabled when the image viewer receives for display a new image with a different number of voxels along either the x-axis or y-axis.
If you have either of the environment variables AFNI_VIEW_ANAT_BRICK or AFNI_VIEW_FUNC_BRICK set to NO, then you might run into this issue with cropping when switching datasets.