Just figured this out:
<script runat="server">
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
string curNode = CMS.CMSHelper.CMSContext.CurrentPageInfo.NodeID.ToString();
string where = this.srcElem.WhereCondition;
if (curNode != "[All News Node ID]"){
if (where != ""){
where = where + "AND view_custom_news_joined.NodeParentID = " + curNode;
}else{
where = "view_custom_news_joined.NodeParentID = " + curNode;
}
}
this.srcElem.WhereCondition = where;
}
</script>
Added this to the Layout Tab of my QueryDataSource web part. This preserves my filter control generated where clause and appends the parent node conditional as required.
Hope this helps someone later on.