second "order by" didn't work

Dear Support Team,
i have an entity "appointment" with an association "appointment_entry".
...
[ManyValuedAssociation([],CascadeTypeAll)]
Fapt_entries: Proxy<TList<Tapp_appointment_entry>>;
...

it works fine, but a "order by" with an appointment_entry field not work.
here my Delphi source:

echoTimer.Enabled:=false;
dayPlanner.BeginUpdate;
aPlItems:=fManager.Find<Tapp_appointment>
                         .createAlias('apt_entries','ae')
                         .where(Linq['apt_vehicle']>0)
                         .refreshing
                         .orderBy('apt_starttime')
                         .orderBy('ae.ae_position')
                         .List;
if aPlItems=nil then exit;

for aPlItem in aPlItems do
  begin
    if aPlItem.apt_vehicle<>nil then
      SetItemFieldsAndColors(aPlItem);     
 end;

finally
dayPlanner.EndUpdate;
aPlItems.free;
echoTimer.Enabled:=true;
end;

The "OrderBy('appointment.starttime') works.
But the second "OrderBy('ae.ae_position') has no effect.

I have implement your SQL-Monitor from your "Music demo App".
Aurelius generate the following SQL:

SELECT A.ID AS A_ID, A.APT_STARTTIME AS A_APT_STARTTIME, A.APT_ENDTIME AS A_APT_ENDTIME, A.APT_REASON AS A_APT_REASON, A.APT_GROUP AS A_APT_GROUP, A.APT_COLLECT AS A_APT_COLLECT, A.APT_GROUP_POINT AS A_APT_GROUP_POINT, A.APT_GROUP_ADDRESS AS A_APT_GROUP_ADDRESS, A.APT_SERIES AS A_APT_SERIES, A.APT_POSITION_COUNT AS A_APT_POSITION_COUNT, A.FVERSION AS A_FVERSION, A.APT_VEHICLE_veh_number AS A_APT_VEHICLE_veh_number, B.veh_number AS B_veh_number, B.veh_license_plate AS B_veh_license_plate, B.veh_concession_number AS B_veh_concession_number, B.veh_FIN AS B_veh_FIN, B.veh_designation AS B_veh_designation, B.veh_shape AS B_veh_shape, B.veh_registration AS B_veh_registration, B.veh_deregistration AS B_veh_deregistration, B.veh_seats AS B_veh_seats, B.veh_changer AS B_veh_changer, B.veh_lagguage AS B_veh_lagguage, B.veh_wheelchair AS B_veh_wheelchair, B.veh_payment AS B_veh_payment, B.veh_planner AS B_veh_planner, B.veh_dealer AS B_veh_dealer, B.veh_brand AS B_veh_brand, A.APT_DRIVER_ID AS A_APT_DRIVER_ID, C.ID AS C_ID, C.EMP_FIRSTNAME AS C_EMP_FIRSTNAME, C.EMP_LASTNAME AS C_EMP_LASTNAME, C.EMP_STREET AS C_EMP_STREET, C.EMP_ZIPCODE AS C_EMP_ZIPCODE, C.EMP_CITY AS C_EMP_CITY, C.EMP_PHONE AS C_EMP_PHONE, C.EMP_MOBILE AS C_EMP_MOBILE, C.EMP_MAIL AS C_EMP_MAIL, C.EMP_ENTRY AS C_EMP_ENTRY, C.EMP_EXIT AS C_EMP_EXIT, C.EMP_IS_DRIVER AS C_EMP_IS_DRIVER, C.EMP_COLOR AS C_EMP_COLOR
FROM app_appointment A
LEFT JOIN app_vehicle B ON (B.veh_number = A.APT_VEHICLE_veh_number)
LEFT JOIN app_employees C ON (C.ID = A.APT_DRIVER_ID)
LEFT JOIN app_appointment_entry D ON (D.APT_ENTRIES_APP_APPOINTMENT_ID = A.ID)
WHERE A.APT_VEHICLE_veh_number > :p_0
ORDER BY A.APT_STARTTIME Asc,
D.AE_POSITION Asc
p_0 = "38" (ftInteger)

SELECT A.ID AS A_ID, A.AE_POSITION AS A_AE_POSITION, A.AE_PICKUPTIME AS A_AE_PICKUPTIME, A.AE_PERSON_NR AS A_AE_PERSON_NR, A.AE_PERSON AS A_AE_PERSON, A.AE_INFO AS A_AE_INFO, A.AE_DEPARTURE AS A_AE_DEPARTURE, A.AE_ARRIVAL AS A_AE_ARRIVAL, A.AE_DISTANCE AS A_AE_DISTANCE, A.AE_TRANSPORT AS A_AE_TRANSPORT, A.AE_AMOUNT AS A_AE_AMOUNT, A.AE_PAYMENT AS A_AE_PAYMENT, A.AE_CALC_TRANSPORT AS A_AE_CALC_TRANSPORT, A.FVERSION AS A_FVERSION
FROM app_appointment_entry A
WHERE A.APT_ENTRIES_APP_APPOINTMENT_ID = :p_0
p_0 = "52" (ftInteger)

SELECT A.ID AS A_ID, A.AE_POSITION AS A_AE_POSITION, A.AE_PICKUPTIME AS A_AE_PICKUPTIME, A.AE_PERSON_NR AS A_AE_PERSON_NR, A.AE_PERSON AS A_AE_PERSON, A.AE_INFO AS A_AE_INFO, A.AE_DEPARTURE AS A_AE_DEPARTURE, A.AE_ARRIVAL AS A_AE_ARRIVAL, A.AE_DISTANCE AS A_AE_DISTANCE, A.AE_TRANSPORT AS A_AE_TRANSPORT, A.AE_AMOUNT AS A_AE_AMOUNT, A.AE_PAYMENT AS A_AE_PAYMENT, A.AE_CALC_TRANSPORT AS A_AE_CALC_TRANSPORT, A.FVERSION AS A_FVERSION
FROM app_appointment_entry A
WHERE A.APT_ENTRIES_APP_APPOINTMENT_ID = :p_0
p_0 = "52" (ftInteger)

The first SQL is correct, the order by clause includes the two fields you have defined:

ORDER BY A.APT_STARTTIME Asc,
D.AE_POSITION Asc

The other SQLs has nothing to do with that criteria. Note that they are even selecting from a different table (app_appointment_entry). Looks like a proxy being lazy-loaded.