how does OpenSSH use bcrypt to set IV's?
If I am reading the code right, it does indeed use the key as the IV, here are the relevant functions:

sshkey_parse_private2 from sshkey.c is the function that performs the KDF and decrypts the private key blob. The KDF takes the 
The first decryption function called within sshkey_parse_private2 is cipher_init, as follows:

r = cipher_init(&amp;ciphercontext, cipher, key, keylen, key + keylen, ivlen, 0)) != 0)


The format of that function from cipher.c:

cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher, const u_char *key, u_int keylen, const u_char *iv, u_int ivlen, int do_encrypt)


That means the IV passed to cipher_init is simply key + keylen

Additionally, the round count for bcrypt is 16