I have tested the scenario you have described. Using MS Excel I have created a workbook containing the following values using cell format "percentage" with two decimal places:
I have imported it in RadSpreadProcessing and when I get the cell values the result is slightly different from yours:
0.001 - here is the difference
Could you check if the first value which you get from the cell really is 0.
This is expected behavior. Actually if you multiply the values by 100 you will get the entered percentage values. This behavior can be explained with the formula for calculating the percentage of a number. For example 10% of 40 is 40 * 10% = 40 * 10 / 100 = 40 * 0.1.
If you want to get the formatted result value form the cell you could use the following code:
value = cell.GetValue().Value;
CellValueFormat format = cell.GetFormat().Value;
) cellvalue = value.GetResultValueAsString(format);