While sleeping the problem over, I found, that I could probably just render the Bitmap manually and update the imageView. Here's the code. It's not nice, but get's the job done.
This probably can still be improved with better handling of density, etc.
Bitmap bmp = BitmapFactory.decodeFile(sdCard.getAbsolutePath() + pathName);
Bitmap cBitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.ARGB_8888);
Canvas c = new Canvas(cBitmap);
c.drawBitmap(bmp, 0, 0, null);
NinePatchDrawable photo_border = (NinePatchDrawable) context.getResources().getDrawable(R.drawable.photo_border);
photo_border.setBounds(0, 0, bmp.getWidth(), bmp.getHeight());
photo_border.draw(c);
views.setImageViewBitmap(id.photo, cBitmap);
One thing to be aware of: When the phone boots, the widgets may receive an Update event, when the sd card is not mounted. You should either wait until it is, or skip the configuration and add an intent-filter (that's what I did)
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<data android:scheme="file"></data>
</intent-filter>