Made Guinness gingerbread more than once but I've given up now, each time thinking it would turn out ok. The only thing I did differently is use baking powder instead of bicarbonate of soda (all I had!), but it always turned out as flat as a pancake, and uncooked inside. What am I doing wrong??
Unfortunately the one thing that you did differently, using baking powder instead of bicarbonate of soda (baking soda) is the likely source of the problem. Although baking powder does contain bicarbonate of soda, it is much smaller quantities as baking powder contains cream of tartar and also a neutral anti-caking base (usually cornflour). So if you have just substituted 2 teaspoons of baking powder for the bicarbonate of soda it will only have contained 1/2 teaspoon of bicarbaonate of soda, which will not be enough.
Also baking powder and bicarbonate of soda act in different ways. Baking powder works more slowly than bicarbonate of soda and will be partially activated by the heat of the oven. Bicarbonate of soda will start to act as soon as it is mixed with liquids and an acid ingredient (in the recipe this is the Guinness). You will see it starting to foam as the batter is poured into the tin. This action is much better for aerating very liquid cake batters, such as the gingerbread - hence your gingerbread is quite dense and feels underbaked.
We would not recommend switching baking powder for bicarbonate of soda, and vice versa in recipes.