You're trying to compare horses to saddles. Interface class is more technical; it is equivalent to .NET or COM interfaces; in C++ it is implemented as a class without data with only pure-virtual functions. While compile-types can be interface classes, during run time they are represented by run-time implementation classes.
Boundary classes are called so by their role. They might be user interfaces, system interfaces or device interfaces (for example). See
http://en.wikipedia.org/wiki/Class_diagram#Boundaries[
^] for more information.
I would suggest you avoid questions "what is the difference", as correct single answer is impossible. Ask about each thing separately and their relationships.
I would also note that your question kind of lacks subject. You should better associate design matter with you project; so you need to share your ultimate project goals and refer to your own suggestions. In contrast to mathematics and pure computer science, the art of code design is no way a mathematically strict subject; design principles does not have their win theoretical value; considering design principles abstracted from their application if fruitless and often leads to artificial and useless schematic.
—SA