I had created several Lego guns, but they weren't real guns, because there wasn't any explosions to propel the bullets. To make up for the lack of explosions and flames, I made this flamethrower.
The fuel I used was a can of Linx deodorant. A candle at the front ignites the spray, which then completely combusts in front of the Lego frame. The flame has a reach of around 30-60 cm, which is not very far, but considering the simplicity of this contraption, you can hardly complain. Its hot enough to light candles and incinerate ants. Very fun indeed (as long as you're at the right end of the gun).
Watch the video here: http://www.youtube.com/watch?v=pXbvBS9_62s
Additional carnage: http://www.youtube.com/watch?v=uppRlB4Jag4