An IV is not a key.
In modes of operation, an IV does not have to be kept secret, and in order to decrypt everything you need the IV, which is transmitted in the clear.
The only required property of an IV is that it is unique, or at least with overwhelming probability unique. For that you can use "bad" randomness to create it (e.g. from a non-secure PRNG). In fact for a lengthy protocol with several rounds and IVs, it would be fine to start at a random number and then just increase it by 1 every time. Basically, it is not a problem if the IV is predictable, as long as the same one is not used more than once (with almost certain probability).
A key requires good entropy, and should always be generated by a CSPRNG or a similar construction (e.g. a KDF). If you can predict it from previous output of your RNG, of previously used IVs, etc, ... you have a serious problem.
But in the end: Why create something which already exists and is examined broadly? There are quite a few schemes for message authentication codes (that's what you mean), including HMAC with MD5. However, for the design of current systems you should not use MD5. Even if it is still considered secure to be used in HMAC, MD5 itself is flawed and should only be used in the context of legacy systems.