Heterograms, Palindromes, oh my!
Pyth, 17 bytes
 Z.{rzZ.q.Zzr}.Z 

Try it online here.
The leading space is necessary. I have counted it and the trailing space in the byte count.
Here's the breakdown:
     z            z is initialized to the input
    r Z           Z is initialized to 0, and r(string)0 converts the string to lowercase
  .{              .{ is pyth's builtin uniqueness test
       .q         .q terminates the program
         .Zzr}    This is just the program mirrored
              .Z  . requires a number to immediately follow it
                  If left blank the parser would throw an error
 Z                This is just mirrored from the end
                  The leading space suppresses the automatic printing of this 0
                  The trailing space mirrors the leading space