Does anyone know why they changed it?
There is a very good reason: BlitzMax uses a garbage collector, and Delete doesn't exist anymore. If every object was implicitely added to a global list, they would always be reachable and thus never removed from memory.Granted, such a global list could have been kept for convenience if the garbage collector simply ignored references in that global list, but that would introduce a serious indeterminism problem : you'd never know if an object in that list would still be there the next moment, as the garbage collector could collect it just about when it wants.