or is more-or-less an alias for rdx when on that architecture?
The $ebx is an alias to the lower 32 bits of the full $rbx register (there is no actual ebx register).
Does ebx automatically convert to rdx on a 64-bit architecture?
No, but writing to EBX zero-extends into RBX. (Not RDX, I assume B vs. D is a typo). Why do x86-64 instructions on 32-bit registers zero the upper part of the full 64-bit register?
So yes, mov $5, %ebx does exactly the same thing as mov $5, %rbx but is more efficient (fewer machine-code bytes). Some assemblers (not GAS) will even optimize one to the other for you.
For example:
mov $-1, %rbx # RBX = 0xFFFFFFFFFFFFFFFF
mov %ebx, %ecx # RCX = 0x00000000FFFFFFFF
dec %ebx # RBX = 0x00000000FFFFFFFE
Is writing ebx "wrong"
Depends (see below). Usually it's an optimization if you don't need to work with 64-bit quantities. The advantages of using 32bit registers/instructions in x86-64
Is there any significant difference between the two?
Yes. Of the following assembly instructions, only one will compile:
movq $0x12345678ABCD, $rbx
movq $0x12345678ABCD, $ebx