Versions: 0.7.10 (and 0.7.8) with Sencha Touch 2.1.1
Browser: Chrome 24 (Win8 / Desktop)
Severity: critical (data corruption)

Using 'syncstorage' proxy in store, it seems that date field value are not correctly sent to the remote server when synchronizing new records (date for updated records are not sync at all, but I will open a new ticket for this case). When re-importing remote data in "empty" local storage (e.g. after a first login on a new device), date values for imported records are invalids (empty objects {}). So I supposed that date data are definitively lost.

Test case (I modified the 'examples/touch/todo' example for this test case)

MyApp.model.Todo line 29 (changed the 'timestamp' field type to DATE)
PHP Code:
[...]
    {
        
name'timestamp',
        
type'date'
    
}
[...] 
MyApp.view.Edit:: SaveRecord line 75 (remove '.getTime())
PHP Code:
[...]
    
record.set("completed", (completed == 1));
    
record.set("timestamp", new Date());
[...] 
MyApp.view.Todos line 59 (displaying the timestamp)
PHP Code:
[...]
    
itemTpl: [
        
'<div class="completed{completed}">{task}-{timestamp}</div>'
    
],
[...] 
- Create a new task and save it: the list item will show a valid date (when tracing in MyApp.view.Edit:: SaveRecord, the record timestamp is a valid date). But based on the SIO debug log, sent value for the new record timestamp is {} (empty object)
Code:
DEBUG: Transport.send {
"service":"SyncRpcService",
"from":"device-**********",
"msg":{
    "method":"putUpdates",
    "args":[{
        "dd":{"userId":"**********", "databaseName":"todos", "generation":"0", "version":2},
        "rd":{"deviceId":"device-***********","replicaId":"b6"},
        "csv":"b1-66754329-5.b3-67258192.b6-67444510-5",
        "updates":"[
            [\"b6-67444510\",\"_oid\",\"b6-67444510\",\"b6-67444510\"],
            [\"task\",\"test2\",\"b6-67444510-1\"],
            [\"details\",\"test2\",\"b6-67444510-2\"],
            [\"completed\",false,\"b6-67444510-3\"],
            [\"timestamp\",{},\"b6-67444510-4\"],
            [\"id\",\"b6-67444510\",\"b6-67444510-5\"]
        ]"
    }],
    "corr-id":6
},
[...]
}
- Logout (and clear browser data to be sure to remove the store local copy).
- Login again and wait for sync: the list item will show title-[object Object]. Based on the SIO debug log, imported value for timestamp is {}:
Code:
DEBUG: SyncProxy.applyUpdate: (b6-67444510 . _oid = 'b6-67444510' @ b6-67444510) accepted, creating new record 
INFO: SyncProxy.applyUpdateToRecord: (b6-67444510 . task = 'test2' @ b6-67444510-1) accepted 
INFO: SyncProxy.applyUpdateToRecord: (b6-67444510 . details = 'test2' @ b6-67444510-2) accepted 
INFO: SyncProxy.applyUpdateToRecord: (b6-67444510 . completed = 'false' @ b6-67444510-3) accepted
INFO: SyncProxy.applyUpdateToRecord: (b6-67444510 . timestamp = '{}' @ b6-67444510-4) accepted 
INFO: SyncProxy.applyUpdateToRecord: (b6-67444510 . id = 'b6-67444510' @ b6-67444510-5) accepted