Eu realmente não entendo como o conjunto de dados se correlaciona com o conjunto de resultados, mas parece-me que você quer algo mais ou menos assim ...
SELECT m.id
, DATE(FROM_UNIXTIME(m.starttime))Date,SUM(m.duration) all_movement
, SUM(l.duration) all_load
FROM move_table m
JOIN load_table l
ON l.id = m.id
AND l.endtime > m.starttime
AND l.starttime < m.endtime
GROUP
BY m.id
, DATE(FROM_UNIXTIME(m.starttime));
+-------------------+------------+--------------+----------+
| id | Date | all_movement | all_load |
+-------------------+------------+--------------+----------+
| 00:50:c2:63:10:1a | 2012-10-29 | 391 | 520 |
| 00:50:c2:63:10:1a | 2013-02-22 | 391 | 520 |
| 00:50:c2:63:10:1b | 2013-02-22 | 181 | 220 |
+-------------------+------------+--------------+----------+
Aliás,
duration
parece ser redundante neste contexto, pois (por exemplo) SUM(m.endtime-m.starttime) fornecerá o mesmo resultado.