In any POSIX shell, you can prevent a number from being considered octal by stripping its leading zeros with a combination of the ${var#prefix} and ${var%%suffix} expansion forms:
BN=001002; BN=$(( ${BN#${BN%%[!0]*}} + 1 )); echo "$BN"
1003
In shells which support the ${var//pat/repl} syntax, you can also do that by prepending it a 1 and subtracting it from 10^{number_of_digits}:
BN=000012; BN=$(( 1$BN - 1${BN//?/0} )); echo "$BN"; BN=$((BN+1)); echo "$BN"
12
13
This works in bash, zsh, ksh93, mksh and yash.
In bash, ksh93 and zsh (but not in yash and mksh) you can also use the fortranish ** operator (exponentiation):
BN=000012; BN=$(( 1$BN - 10**${#BN} ))