As you say, this is Better Platform extension. Better (not a company
) sooner than later the AQL spec should be revisited and extended with the most common functions used, to align them between providers.
Anyway, some specifics:
1/ if you use aliases in both queries, those from the first query are used,
2/ you can use ORDER BY in second query and it will be applied to the whole result-set
3/ both queries should SELECT the same number AND same TYPES of data
SELECT y/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value as systolic,
y/archetype_details/archetype_id/value as archId,
c/context/start_time/value as time
FROM COMPOSITION c
CONTAINS OBSERVATION y[openEHR-EHR-OBSERVATION.blood_pressure.v1]
UNION ALL
SELECT y/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value as diastolic,
y/archetype_details/archetype_id/value as archId,
c/context/start_time/value as time
FROM COMPOSITION c
CONTAINS OBSERVATION y[openEHR-EHR-OBSERVATION.blood_pressure.v2]
ORDER BY time DESC
This query merges blood pressure from two different archetype versions and sorts them out in a single stream of data, ordered by time of creation. But beware, if you observe the second query, it SELECTs diastolic - different path, but same type, so no issues there - but content wise you should be careful.
With latest Better Platform we do support the [openEHR-EHR-OBSERVATION.blood_pressure.v*] notation for this purpose.
UNION ALL comes handy when you would like to have a result-set of a key-value format, for charts containing data from different observations, which fall under separate constraints, different templates used etc. EAsier to manage and establish complex criteria - each query for itâs own content.
Ever tried UNION ALL over three or more queries? 
SELECT y/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value as data,
"systolic" as type,
y/archetype_details/archetype_id/value as archId,
c/context/start_time/value as time
FROM COMPOSITION c
CONTAINS OBSERVATION y[openEHR-EHR-OBSERVATION.blood_pressure.v1]
UNION ALL
SELECT y/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value as diastolic,
"diastolic" as type,
y/archetype_details/archetype_id/value as archId,
c/context/start_time/value as time
FROM COMPOSITION c
CONTAINS OBSERVATION y[openEHR-EHR-OBSERVATION.blood_pressure.v2]
UNION ALL
SELECT y/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value as temperature,
"temperature" as type,
y/archetype_details/archetype_id/value as archId,
c/context/start_time/value as time
FROM COMPOSITION c
CONTAINS OBSERVATION y[openEHR-EHR-OBSERVATION.body_temperature.v1]
ORDER BY time DESC