Whilst it would be possible for you to implement a system to keep count of the refferance count. This would be a duplication of processing use as BMax has already done this internaly.
Moreover, it's only possible at all if it's a self-contained program. If it's a module, intended for other people to use, you can't prevent them from making new references without going through the BlitzMax constructor of a copy constructor. IE: A type method which returns the same object but increases the reference count internally. So he just does a little a=b and now your whole reference count goes astray. The module thinks it's dead, but Joe T. User still has a reference to it. Granted Joe T. User should do what the documentation tells him to do, but it's forcing him to adhere to principles which are not generally part of the language just so that I can keep the reference count accurate.
And I agree that - as far as I can see - there should be no reason for BRL to ever need to do anything drastic with the reference count, so it shouldn't be at all difficult or restrictive to add this.