Deve haver algo no seu ambiente, porque quando tento o mesmo exemplo, obtenho os resultados esperados. Por exemplo:
# command #1
$ (time echo "hi") 2>> measures.txt
hi
$ cat measures.txt
real 0m0.000s
user 0m0.000s
sys 0m0.000s
# command #2
$ (timeout 1s time echo "hi") 2>> measures.txt
hi
$ cat measures.txt
real 0m0.000s
user 0m0.000s
sys 0m0.000s
0.00user 0.00system 0:00.05elapsed 0%CPU (0avgtext+0avgdata 552maxresident)k
56inputs+0outputs (1major+173minor)pagefaults 0swaps
Em vez de estruturar seu comando como duas chamadas separadas, por que não?
(
time ./minisat+_64-bit_static opb_clauses.txt
timeout 1s time ./minisat+_64-bit_static opb_clauses.txt
) 2>>../measures.txt