I'm a local who lives in Pigtown and I would suggest to def. move to Bolton Hill - in fact I used to live there - 1800 blk of Bolton St. For your son Bolton Hill is the place to be, he'll be close to friends and to school. There are a lot of great local hang outs right there for him as well. I also found the neighborhood to be the quiestest one that is close to downtown. Bolton St and Park St are the greatest streets in the spring time - I love the trees.
You cannot beat the houses in Bolton Hill - I love the old architecture of those homes!

As for safety - I used to walk the streets at night all the time! From the end of Bolton St all the way to Mt. Vernon - no problems the entire time I was there.
Could should look on Craigslist and some of the realtor sites like Long & Foster - there are quite a few ppl out there who own homes and rent them out (that is how I found an apt there). There are also several very nice apt complexes in that area btw Mt. Vernon and Bolton Hill.
As for your other options - Federal Hill you will get sick of - your son may not - but I can say parking is a nightmare - and if you live near Cross St market - be ready for noise and craziness.
Halethorpe - I agree with some of the other posts - your son will get bored. The one thing I would never take away from my college education was the close prox. that I lived to college, it made my experience so much better - I felt less removed (I commuted my first semester and I hated it).
Also, I commuted to DC for a period of time so I know about the commute - the closer you live to the station, the better. Halethorpe is an outdoor station and it gets cold in the winter! Penn Station is so much warmer :-)