Потому что в ячейке установлен "общий" формат (general), который отсекает незначащие цифры. В данном примере всегда будут указываться 2 цифры после запятой:

Delphi:

ASheet.Range['A1', EmptyParam].NumberFormat := '0.00'; ASheet.Range['A1', EmptyParam].Value2 := 385; // будет отображено "385.00"