I think 7 is too early. The kid should be outside playing and using his imagination with real world objects at that time.
I also recommend using C. It's simple and C-derived compilers typically support some version of it.
I learned to program in BASIC for the Atari and the Sinclair ZX-80 when I was 8 and a half. I don't recommend using numbered line BASIC or any BASIC, at all. If I could go back and somehow influence how I was taught, I would tell my parents to find something that supports parameterized function calls instead of GOSUBS. C would be best. But if you're really intent on using BASIC for some reason, if you're on the PC I recommend Microsoft's QuickBasic as it allowed you to get away from the rather intimidating edifice of Visual Studio. You'll also have to sandbox it inside of something like DOSBox to get it to run on a Windows environment so there's a plus.
If you opt to just get an old clunker instead of emulating DOS, I recommend a 486 dx4/100. The architecture is simple enough for a kid to learn into adolescence but powerful enough to show how impressively computers can complete some tasks very quickly. I also recommend an ATI "all-in-wonder" graphics card, because it features CGA, EGA and VGA so your kid can learn about legacy graphics as well as switching modes. You shouldn't use a CRT if you can help it, if the kid wants to get into the inner workings of the screen you'll have an armful of stuff to teach him about electricity safety first. So get a modern flatscreen and get a VGA/EGA plug adapter if you have to, to keep on the side for EGA projects. As long as the flat screen is unplugged he shouldn't die of electric shock touching anything inside of it.
The great thing about older machines is that a lot of the components are visible on a macro-scale. It's a lot easier to differentiate between the resistors, capacitors, and inductors in older machinery. Now a days they'll all tiny little squares with little print designating what they are. It's also easier to work on older boards in terms of soldering and other "circuit bending".
All that being said, I recall some hobbyists telling me back in the day that the Apple computers made the best projects. One guy said he had obtained a dozen Apple IIe's on the cheap and because apple computers are made to network easily, he was able to use a later Apple model to organize all the IIe's into parallel computing. An exercise like that could be fun, albeit space-consuming.
If you're going this sort of computer-engineering route involving getting to know the hardware, I recommend also teaching the kid assembly. On older machines like the ones I mentioned, and using older operating systems, this is less of a headache. By comparison, I was looking into "high level assembly" for windows systems and the skeleton just to have a window open with a button to close it again was large enough to dissuade me from going much further. ASM in DOS was far more elegant, which is why these days if you mention writing something in assembly most people think you're crazy. Even though once again many popular compilers support inline ASM.
When I was fiddling with old Sinclair or Atari machines the latest hardware was stuff like the 80286. And when I finally got an 80286 the latest hardware was the Pentium, and so on. Getting things done with older hardware gives you two special perspectives on everything: (1) getting to know how everything works because the machines and operating system aren't so enormous and bloated that it's overwhelming, and (2) having to make do with less memory and processing power forces you to learn things like optimization and paging. People use memory like it's crack today and talk all tough like their memory is infinite, but little do they know RAM is paging quite often in Windows because of programming practices like that. And those same people speak about memory management in their favorite object oriented languages like it's impossible to perform. Trust me, you would much prefer that your kid is one of those people who can do their own memory management. If you give them a shiny brand new computer to learn on, they'll have no incentive to do better than use it like crack like everybody else does.