Не должно быть конфликтов, о которых вы говорите. Буфер глубины может содержать только одну глубину на пиксель, поэтому проблема может заключаться в прозрачности, потому что не совсем точно сказать, что каждый пиксель состоит из данных с одной глубины.
Чистый эффект состоит в том, что если вы рисуете что-то частично прозрачное, то пытаетесь нарисовать что-то позади него, буфер глубины говорит, что не нужно рисовать. Так что, хотя вы должны видеть вещь позади, вы не можете.
В вашем случае то, что вы видите, было бы ожидаемым поведением, если бы вы рисовали B (на переднем плане), а затем A (на заднем плане). Возможно ли, что какой-то аспект вашего кода дает вам неожиданный порядок рисования?