Yes, I've used PCs when they were 16-bits. The transition towards 32-bit did go rather easily as there was much compatibility. In fact, the computer booted in 16-bit and then programs could go to 32-bit if they wanted to. So I don't remember any transition issue personally.
I remember that when programming in Turbo Pascal in DOS, I was using the 16-bit mode. The main restriction for me was memory, either allocating memory or video memory. I remember rarely adding 32-bit assembler instructions by adding $66 byte before assembler instructions.
db $66; mov ax, bx
would in fact be
mov eax, ebx
That was without actually switching entirely to 32-bit mode. I did not know how to do that. Some games would do, generally using DOS4GW. You could see a few lines written in the DOS terminal when launching those games before they would switch to graphics mode:
DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems, Inc. 1990-1994
Windows would also use 32-bit mode. So there was a 32-bit version of Pascal. Things were quite similar in fact, except that pointers would now be just one number. In 16-bit mode, you had two numbers: a segment and a 16-bit offset. The actual address was segment*16 + offset. So you needed sometimes to take that into consideration.
Programming under Windows was a bit frustrating to me in the beginning because it was not obvious to switch to fullscreen graphics and you had to write CreateWindows and similar calls to the API to make the interface. Things became better when Delphi arrived.
This 32-bit mode was "protected" as DOS4GW banner says. It means that you could not access any memory and so you would not crash your computer when you messed up with a pointer. Back then in 16-bit, you could have to press Ctrl-Alt-Del to reboot quite often until you got your pointers right. Or even turn off and on the computer manually.
So 32-bit was not just about bigger numbers, it made everything easier and safer. And at the same time, 16-bit programs would still run. Either in a console under Windows or by staying in the real DOS and running the game from there using the command line. In protected mode though, you can not change system memory if you want to.
The real incompatibilities for 16-bit came when Windows would replace completely DOS. Some DOS games would still work fine under Windows, but not all of them. It felt a bit awkward that even fullscreen games would need to be programmed for Windows in order to function properly, even though they would not use the GUI.