"How can you get access to all 48K of memory in a 48K Atari? Is it possible to write a self-booting program (somehow) which doesn't need to use a cartridge at all? Or is there a way to remove the cartridge while in DOS, load the object code in binary form, and execute it directly?"
When you remove the cartridge from a 48K Atari, the top 8K is accessible as RAM, but without a programming language, how do you use it? You can use 6502 "machine language" in which programs can be written to "boot" (automatically load) in when the computer is turned on. They can be in the form of a cassette boot (see "SHOOT," COMPUTE! # 16) or with DOS as an AUTORUN.SYS file. Commercial software such as Microsoft BASIC, Visicalc, or BASIC A + all can use this extra RAM. There is more information on this in the DOS Manuals and in COMPUTE!'s Atari Gazette.