1. Tem um recurso, aonde dois pontos no nome do arquivo tem um uso especial, não sei se tem a ver com Windows ou com NTFS
2. No Harbour, mem:arquivo significa temporário, desde que seja adicionada alguma coisa
3. Nos exemplos de uso de mem:, lembro de ter visto pra excluir no final, o que significa que ou está ocupando memória ou disco
Como no #define de TEMPORARY tem uma indicação de MEM:, pode estar relacionado.
#command INDEX ON <key> [TAG <(tag)>] TO <(bag)> ;
[FOR <for>] [WHILE <while>] [NEXT <next>] ;
[RECORD <rec>] [<rest:REST>] [<all:ALL>] ;
[EVAL <eval>] [EVERY <every>] [<unique: UNIQUE>] ;
[<ascend: ASCENDING>] [<descend: DESCENDING>] ;
[<add: ADDITIVE>] [<cur: USECURRENT>] [<cust: CUSTOM>] ;
[<noopt: NOOPTIMIZE>] [<mem: MEMORY, TEMPORARY>] ;
[<filter: USEFILTER>] [<ex: EXCLUSIVE>] => ;
ordCondSet( <"for">, <{for}>, [<.all.>], <{while}>, ;
<{eval}>, <every>, RecNo(), <next>, <rec>, ;
[<.rest.>], [<.descend.>],, ;
[<.add.>], [<.cur.>], [<.cust.>], [<.noopt.>], ;
<"while">, [<.mem.>], [<.filter.>], [<.ex.>] ) ;;
ordCreate( <(bag)>, <(tag)>, <"key">, <{key}>, [<.unique.>] )
igual usar net: no nome dos arquivos, de nada adianta se não linqueditar hbnetio.