Yep - it is almost certainly your de-interlacing settings in XBMC and VLC that are the issue (and possibly your video levelspace).
SD 576i and HD 1080i broadcasts are interlaced (720p is not) and need de-interlacing to 50Hz (not 25Hz) if you want good quality motion. This is not the default in VLC (you need to set de-interlace to on and use a decent algorithm like YADIF x 2) and often not in XBMC either (and not all video cards are supported for decent de-interlacing in XBMC) If you haven't got decent de-interlacing you'll see fast motion on native interlaced content (sport, news, entertainment etc.) break up into lines, or appear more juddery.
Also - broadcast video is coded in a 16-235 levelspace - whereas some PCs run with 0-255 - and you can get into all sorts of problems between the two. (Some displays are fixed at 0-255 aka FULL, some at 16-235 aka LIMITED, some let you switch - giving you two places to get it wrong...)
And of course if you're in Europe you need to ensure you are running your PC at a 50Hz refresh rate for European TV (not 60Hz - as you'll get 10Hz judder from repeated frames otherwise)
TV Headend doesn't alter the video or audio streams for live streaming so shouldn't have any impact on picture quality.