The SNES ROM header contains a code that roughly indicates the size. The Retrode uses the largest possible size for each code, and that size is always a power of two. I'm not aware of any recent changes regarding this.
While I don't have the combined game you are referring to, I do have Super Mario All Stars (2 MiB) as well as Super Mario World (512 kiB) as individual cartridges. Together, that would be 2.5 MiB. The next larger power of two size is 4 MiB (size code 0x0C, probably found at 0x7FD7 in the file, few bytes after the game title).
In order to detect the size more precisely, the Retrode would have to somehow identify unused areas at the end of ROM. For example, N64 size detection looks for areas filled with 0xFF or 0x00, among other things. Such simple clues might or might not exist in SNES games. (I'm not going to put effort into that option, sorry.)
There are already a few SNES games which the Retrode identifies by their checksum (from the header) to select the proper ROM size. We might try that for "SMAS+SMW", too, if you tell me the checksum. It is shown in the file name if "[filenameChksum] 1" is set in RETRODE.CFG.