Yes, I think so. I have done a simple modification in the code which must exclude the trouble. Try this:
data = {{1, 25/81}, {2, 30/81}, {4, 19/81}, {8, 6/81}, {16, 1/81}};
len = Length[data];
data1 = {Range[data[[1, 1]], data[[len, 1]]], Table[0, data[[len, 1]]]};
Do[data1[[2, data[[i, 1]]]] = data[[i, 2]], {i, len}];
BarChart[data1[[2]], ChartLabels -> data1[[1]], Frame -> True, GridLines -> {None, Automatic}]