Load address as ID is bit problem.
If you want to create backward compatible Basic that can run older programs - if are not machine specific, other Commodore computers have different load address. If it loads Basic program to default location e.g. $0801 and load address is $1000, it will not recognize M65 or C64 mode...
But it is possible to override.
If load address does not match, it can run M65 mode as default.
Because Basic 2 is backward compatible only with lower versions, so only VIC20 uses different address. Later models have higher version.
Miro