Yes, type libraries should work across different cpu architectures. This wouldn't have prevented a programmer from hammering a pointer or a handle into a integer, a not entirely uncommon sin since they are not types that are permitted in automation. Such a component is unlikely to work well in 64-bit code.
Core automation types like BSTR and VARIANT declared in the Windows SDK headers are stable and can never be changed. And haven't.