Hi,
I am a little bit confused: Is not the solution as simple as using Put and Get, I mean can't you export and import just any expression with these commands?
In the case of your example:
ClearAll["Global`*"]
msOut = {{1689, 
    DateObject[{2015, 3, 25}, TimeObject[{0, 0, 0.}, TimeZone -> -3.],
      TimeZone -> -3.], 41, 2, 53, 5, 13, 27, 3.54771*10^7, 
    2, {"REDENÇÃO", "SÃO PAULO"}, {"PA", "SP"}, 3.61023*10^6, 185, 
    11227.2, 9634, 307.98, "NÃO", 0., 1.9*10^7, 1.39854*10^7}, {1690, 
    DateObject[{2015, 3, 28}, TimeObject[{0, 0, 0.}, TimeZone -> -3.],
      TimeZone -> -3.], 24, 45, 53, 35, 26, 21, 4.58805*10^7, 0, "", 
    "", 0., 63, 42636.4, 5708, 672.26, "SIM", 1.88354*10^7, 2.5*10^7, 
    1.46923*10^7}};
(* dump to file: *)
msOut >> "ms"
(* reading back in: *)
msIn = << "ms";
(* check for differences: *)
msIn - msOut
(*  out:  \
{{0,0,0,0,0,0,0,0,0.`,0,{0,0},{0,0},0.`,0,0.`,0,0.`,0,0.`,0.`,0.`},{0,\
0,0,0,0,0,0,0,0.`,0,0,0,0.`,0,0.`,0,0.`,0,0.`,0.`,0.`}}
*)
Or am I missing the point?
Regards -- Henrik