The simplest example I could think if is:
>>> a = symbols('a',commutative=True)
>>> c = symbols('c', commutative=False)
>>> solve(a-c,a)
[]
which returns an empty list. If both symbols have commutative=True or both have commutative=False, the correct solution [c] is returned.
Is there anything I am doing wrong here ?