Algorithm for two languages that merges and sorts two arrays without mutating one
Python doesn't use semicolons at the end of a line.
The function ParseListA does nothing that the built-in function sorted doesn't do already.  Remove it.
In MergeSort, you can use the built-in function any to make sure you have at least one zero in ListB, like this:

if not any(i==0 for i in listB):
    raise ValueError("Needs zeros")


These two lines replace all the code beginning with zeroCount=0 and ending with return;.  The return statement is, incidentally, unreachable code since it follows a raise statement.
At the end of MergeSort, you concatenate the two lists and then sort them.  If you are going to do that, the initial sort of listA is redundant.


When all is said and done, the function ParseListA is gone and MergeSort is only four lines long.  Only one sort operation is required:

def MergeSort(listA, listB):
    if not any(i==0 for i in listB):
        raise ValueError("Needs zeros")
    newB = [i for i in listB if i != 0]
    return sorted(listA + newB)