I've even connected a non-managed switch to an MS switch for a customer co-locating in the same office as one of our clients. I VLAN tagged the port on the MS uplink port then had the co-located client build their own network on the other side of their switch. Worked perfectly.
I ran into a problem when Connecting to Cisco Catalyst switches. For some reason the Trunks between the switches put the Native VLANs into Blocking mode. It took hours of troubleshooting to realize that Spanning Tree was the cause of our headaches. Doing some googling it turns out that inconstancies in the Trunk causes Spanning Tree to block that native VLAN.
I've always been against mixing and matching vendors when it comes to networking. Everyone does things their own way. Even though there are IEEE standards, everyone from Cisco to Apple implements protocols their own way and use different nomenclatures for things.