Small Change in your code... Try this...
SqlCommand cmd = new SqlCommand("select Max(billid) from hbill ", con);
SqlDataReader dr = cmd.ExecuteReader();
if(dr.HasRows)
{
while (dr.Read())
{
id = dr[0] as string;
}
cur_id = IncrementID(id, 3);
}
else
{
id='BID0'
cur_id = IncrementID(id, 3);
}
if(!con.IsClosed)
{
con.Close();
}