No, there is no inherent security flaw in
$wpdb, or using it within a shortcode. However, you can introduce vulnerabilities if you aren't careful how you use it. There are primarily two issues that you should be thinking about.
The first is escaping. You need to make sure that any potentially user-controlled values are escaped when they are used in the query. The best way to do this is with prepared statements and
$wpdb->prepare(). In your code, this isn't a necessity, since the value returned by
get_current_blog_id() should be safe. However, it is a good habit to be in anyway:
$result = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `wp_multilingual_linked` WHERE `ml_source_elementid` = '360' and `ml_blogid` = %d", $blogid ) );
The other thing that it is sometimes important to consider is whether your query is possibly going to expose information to users that it shouldn't. For example, you wouldn't want to leave open the possibility of exposing private posts to other users. In your case, I don't think this is an issue because you aren't querying data that might be restricted. But it is a good thing to keep in mind, so that in cases where it is necessary you can put the proper capability checks in place, rather than inadvertently exposing privileged information to unprivileged users.