No, AFAIK MS-DOS always initialises it to zero before starting the program. I'm trying to find a better reference, but I think this[0] effectively explains what state the registers are in on entry to your program.
Edit: I take that back. According to [1]:
.COM-format executables begin running with the following register values:
AL = 00h if first FCB has valid drive letter, FFh if not
AH = 00h if second FCB has valid drive letter, FFh if not
The value of BX is however strictly undefined, but practically always 0. Potentially some DOS will load this register with a different value, but probably no version of MS-DOS.
On x86, some instructions are longer than others. Incrementing is a single byte. Setting the value 1 if you don’t assume anything is going to be 2 bytes (al, ah, bl, etc.) or 4 bytes for (ax, bx, etc.)
Edit: I take that back. According to [1]:
[0] https://thestarman.pcministry.com/asm/debug/debug.htm#INIT[1] http://www.delorie.com/djgpp/doc/rbinter/id/51/29.html