Perhaps your initial premise is incorrect ? I'm not sure your original results were entirely accurate assuming you only want distinct grouping by datetime - otherwise ignore the following as I don't think it can be done much better than you have..! If we break down the 12 rows into 6 groups of 2 then the only 'groups' you want are the first two - correct ?

Thus the following query would give you that.

mysql> select t1.bID,t1.val_timestamp,t1.val_float,t2.val_int from testAND t1 inner join testAND t2 on t1.bID = t2.bID and t1.val_timestamp = t2.val_timestamp where (t1.cID = 1 and t1.val_float between 1.00 and 2.00) and t2.cID = 2 and (t2.val_int < 120 or t2.val_int > 140) ;
+------+---------------------+-----------+---------+
| bID | val_timestamp | val_float | val_int |
+------+---------------------+-----------+---------+
| 1 | 2009-12-14 00:22:33 | 1.05 | 105 |
| 2 | 2009-12-14 00:22:33 | 1.95 | 115 |
+------+---------------------+-----------+---------+
2 rows in set (0.01 sec)

grouping 1 (aID=1,2) should be selected
grouping 2 (aID=3,4) should be selected
grouping 3 (aID=5,6) should not be selected as val_int = 130
grouping 4 (aID 7,8) should not be selected as val_float = 0.5
grouping 5 (aID 9,10) should not be selected as val_int = 125
grouping 6 (aID 11,12) should not be selected as val_float = 2.55

and explain is better (though I did not define any indexes)

mysql> explain select t1.bID,t1.val_timestamp,t1.val_float,t2.val_int from testAND t1 inner join testAND t2 on t1.bID = t2.bID and t1.val_timestamp = t2.val_timestamp where (t1.cID = 1 and t1.val_float between 1.00 and 2.00) and t2.cID = 2 and (t2.val_int < 120 or t2.val_int > 140) ;
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | t1 | ALL | NULL | NULL | NULL | NULL | 12 | Using where |
| 1 | SIMPLE | t2 | ALL | NULL | NULL | NULL | NULL | 12 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
2 rows in set (0.00 sec)