I spent 7 weeks in Malawi this winter. I had a wonderful time, and was fortunate to have friends there who showed me a lot of nice places to go. Malawi is the only African country I've ever been to, but it really made an impression on me, and it's not called "the warm heart of Africa" for nothing. You'll meet friendly people everywhere. I'm going back again in September and will stay for two months this time, just visiting friends who work there, going to Lake of Stars (the festival) and hang out.
I'm Scandinavian, so I also travelled from London since I got the cheapest tickets from there. I went with Kenya Airways, but this time I found even cheaper tickets with Quatar Airways from Heathrow to Jo'burg (paid about 290 pounds) and will start there and go by bus to Malawi.
4 weeks is probably perfect. Places I would recommend visiting:
Likoma Island. A really nice island just outside Mozambique that still belongs to Malawi. You should stay at Mango Drift. There you'll meet a nice British couple (Becky and Josh) and you can stay in chalets at the beach. It's beautiful! I had a snake in my chalet the last time, so I hope they fixed the walls : )
Nkhata Bay. If you want to have some fun, stay at Mayoka Village. Really good food (compared to the average food in Malawi). Friendly staff, great chalets a few meters from the lake.
Cape Maclear. I had a lot of fun there. Stayed at Gecko Lounge and Gaia House. You should rent a kayak and bring some greens (carlsberg) out to the national park and enjoy the sunset. It's gorgeous!
Lilongwe. A strange capitol. It's scattered all over, and there's nothing much to see there. You should hook up with someone who knows the town. If you don't, you'll probably miss out on the good places to go.
Liwonde National Park. Lots of hippos. We stayed at Mvuu Camp. Great food, great staff and really nice.
Blantyre. Is ok, but not a place I want to go back to. Don't stay at Doogles... Extremely dirty place...
Mount Mulanje. I didn't go there, but will do it this time. It's supposed to be good hiking.