>>104
確か、そのリンカオプションは、DLL作成時に指定するとエラーになる。

また、アプリの場合だと、relocation 情報が strip されて、EXE ファイルの中にはなくなっているのに対し、DLLだと relocation 情報が最後まで残されたままになっている。

>>105
あなたが使っている用語が x86 や x64 とは合わずめちゃくちゃなので何を聞いているのか分からないが、
hogehoge  db 'xxxx', 0
       mov cl, hogehoe 1
とすると、
        mov cl,[offset hogehode]
と言う意味になり、encode としては、
       mov cl, [RIP + (offset hogehode - offset label1)]
label1:
のように、RIP 相対の disp
       mov cl, [RIP + disp32]
に encode される。この場合の disp32 は、意味としては、rel32 で、
RIP からの32BIT相対アドレス。

一方、似て非なるものとして、
     mov cl, hogehode[rbx]
とすると、
     mov cl, [offset hogehode + rbx]
即ち、
     mov cl, [rbx + disp32]
と翻訳される。この場合の、disp32 は、32BIT絶対アドレス。 同じ、disp32 でも、意味は異なる。しかし、disp は、32BITまでで、 64BIT 値のものは存在していない。一方、64BITアドレスも一応は使えるように、
  mov REG64, ADDR64  ; REG64 は、RAX, RBX, RCX, EDX, RBP, RSI, EDI など。

  mov ACC, [ADDR64]  ; ACC は、al, ax, eax, rax
という命令が、 専用命令として特別扱いとして存在しているが、特殊中の特殊。