--- Quote Start ---
Ok, that means to_integer(unsigned(slv_value)) is standardised and CONV_INTEGER(MyVector) isn't.
Right?
--- Quote End ---
Yes. The latter comes from a package that was created by synopsis back in the late 80s early 90s, and became a bit of a defacto standard. Different vendors wrote their own versions of the libraries so back then they were all slightly different. Then the IEEE wrote numeric std which standadised it all in 1993. Unfortunately vendors did not get around to supporting it for a while so everyone got used to std_logic_unsinged/signed/arith and even more unfortunately a lot of examples and text books use the non standard packages (plus generated code and documentation from Xilinx STILL uses these libraries, ALtera generally uses numeric_std).
--- Quote Start ---
2. If I had to communicate integer values between to blocks, should I use an Integer OUT / IN, or is it better to convert to std_logic_vector and reconvert to integer??
--- Quote End ---
If its internal connection (ie not to device pins), then a constrained integer is fine. For top level, use std_logic_vector or unsigned/signed type. If it really is a number, you dont have to use std_logic_Vector anywhere unless you connect it to a megawizard block.