that had both a mouse, sound hardware and a video card that could handle bitmap video.
The problem you are describing is to do with operating system hardware abstraction. There are very easy ways of knowing whether the computer can support mouse and/or it is plugged it. Detecting hardware is not user space application functionality. It is operating systems job to do that and provide and a nice and consistent way of communication with applications. So What android should do to avoid these problems is to prepare, a well documented APIs that are consistent across versions and hardware. And let the application decide to run or not
It isn't easy being the parent of a six-year-old. However, it's a pretty small price to pay for having somebody around the house who understands computers.